0

mysqlでこのようなネストされたselectステートメントを作成することは可能ですか?

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

これがそのような声明を定式化する正しい方法ではない場合、誰かがそれが定式化されるべき方法について正しい方向に私を向けることができます。

ありがとう

4

2 に答える 2

1
SELECT * from myTable WHERE id IN (SELECT id from data where dataId = 1);
                                ^---- You should use in rather than =
于 2012-04-09T10:29:53.507 に答える
0

この構文は問題ありません。ただし、これはdataId 1のデータが1つある場合にのみ機能することに注意してください。内部選択によって複数のIDが返される可能性がある場合は、次を使用することをお勧めします。

SELECT * from myTable WHERE id IN (SELECT id from data where dataId = 1);
于 2012-04-09T10:30:42.070 に答える