2012-04-09 11 views
0

mysqlで次のようなネストされたselect文を作成できますか?mysqlでネストされた選択

SELECT * from myTable WHERE id = (SELECT id from data where dataId = 1);

これは誰もがそれが策定されるべき方法のための正しい方向に私を指すことができ、そのような声明を策定するための正しい方法ではない場合。

おかげ

答えて

0

この構文は大丈夫です。ただし、これはdataId 1のデータが1つしかない場合にのみ有効です。 インナーセレクトによって返されるIDが複数ある可能性が高い場合は、使用することをお勧めします。

SELECT * from myTable WHERE id IN (SELECT id from data where dataId = 1); 
1
SELECT * from myTable WHERE id IN (SELECT id from data where dataId = 1); 
           ^---- You should use in rather than = 
関連する問題