

以下にある
・▶実行前の「売上情報」
・▶ 実行前[社員情報]
で
実行結果です。
-------------------------------------------------------------------
mysql> SELECT * from tb1 where bang = (SELECT bang FROM tb WHERE uria>=200 LIMIT 1);
+------+------+------+
| bang | nama | tosi |
+------+------+------+
| A101 | 佐藤 | 40 |
+------+------+------+
しかし
---------------------------------------------------------------------
mysql> SELECT * from tb1 where bang = (SELECT bang FROM tb WHERE uria>=200 LIMIT 2);
ERROR 1242 (21000): Subquery returns more than 1 row
------------------------------------------------------------------------
エラーとなります。
・・・uria>=200 LIMIT 2);とした場合「| A102 | 205 | 高橋 |」も
該当するはずですが、エラーとなるのは ただのバグなのでしょうか?
よろしくお願いいたします。
▶実行前の「売上情報」テーブル 「tb」
+------+------+------+
| bang | uria | tuki |
+------+------+------+
| A103 | 101 | 4 |
| A102 | 54 | 5 |
| A104 | 181 | 4 |
| A101 | 184 | 4 |
| A103 | 17 | 5 |
| A101 | 300 | 5 |
| A102 | 205 | 6 |
| A104 | 93 | 5 |
| A103 | 12 | 6 |
| A107 | 87 | 6 |
+------+------+------+
P208
▶ 実行前[社員情報]テーブル 「tb1」
+------+------+------+
| bang | nama | tosi |
+------+------+------+
| A101 | 佐藤 | 40 |
| A102 | 高橋 | 28 |
| A103 | 中川 | 20 |
| A104 | 渡辺 | 23 |
| A105 | 西沢 | 35 |
+------+------+------+
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MAMPで80ポートが使用されている...
-
SQL文についての質問です。
-
「重複を間引いた数」をcountし...
-
「ストレージエンジン」とは何か
-
同一日に複数レコードがある場...
-
MAMP 99ドル約1.6万円 高い...
-
あってますか?SQL
-
WHERE `年月日` = '晴' OR `年...
-
SQLです教えてくださいお願いし...
-
SQLを作ったのですがうまくいき...
-
(初心者)MySQLやmaraDBで、crea...
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
SQLです教えてください。
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
utf8bomとutf8mb4の違いがいま...
-
「総降水量が100mm以上になる...
-
SQLで漢字名称を都道府県や市区...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブル作成でエラーが出てき...
-
MYSQLサービス停止時にWindows...
-
MySQLのテーブル作成でハイフン...
-
実行時エラー80004005
-
phpMyAdminについて
-
MySQL エラー Duplicate entry...
-
LIMIT で条件を満たしているの...
-
SQLで抽出してCSVで書き出した...
-
MYSQLのデータに「;」を入力
-
order byの役割を知りたいです。
-
mysql_num_rows()のエラーについて
-
mysqlがインストールされている...
-
MySQLカラム名は日本語と英数字...
-
ODP.NETのバージョン確認
-
副問合せにLIKE文を使う方法は...
-
SQLのVARCHARとVARCHAR2の違い
-
エクセルで連勤チェックをした...
-
ERROR 1045 (28000) (using pas...
-
旧filemakerで和暦(令和など)...
-
列数が多いと結果が行単位に改...
おすすめ情報
ご紹介してくださいました ググったら
https://dev.mysql.com/doc/refman/5.6/ja/subquery …
たくさん出てきますネ!
内容は気難しいですが 当然のエラー
ということでした。
ご回答くださいましてありがとうございます。
おそらく「uria」の「uria>=200」が2個じゃなくて
3個以上あればエラーとにはならない!?
と意味でしょうか?
エラー内容をそのまま「ググったら」たくさん出てきます。
しかし
私の今のレベルだとすぐには理解不可能でした。
https://www.google.com/search?q=ERROR+1242+(2100 …
参考書に書いてある意味が今少し分かりました。
mysql> SELECT * from tb1 where bang = (SELECT bang FROM tb WHERE uria>=200);
ERROR 1242 (21000): Subquery returns more than 1 row
参考書~
もちろん、「=」を使っても、該当するレコードが1件しかなければエラーとはなりません。
そうですね 国語的発想ならば解が2個
ある場合があると思います。
しかし数学的発想の[=]は解は1個
下記の表のとおり答えが2個あるので
+------+------+------+
| bang | nama | tosi |
+------+------+------+
| A101 | 佐藤 | 40 |
| A102 | 高橋 | 28 |
+------+------+
=は不適
「1+1=2」∴数学のロジック⇒
「解が2以外はあり得ないのに2個あるので」
該当なしの「=」ではない!
「だからエラーが出る」
たぶんそうだと思います。