2012年9月21日金曜日

mysql where in クエリの使い方

mysql where in クエリの使い方


例え、SELECT picture_id FROM msg WHERE id = 77
の実行結果は 【12,11,10,4】
それ次は、SELECT * FROM upfiles WHERE id IN(12,11,10,4);を求めるには?

自然と、こう書きたくなるでしょう?

SELECT * FROM upfiles WHERE id IN(SELECT picture_id FROM msg WHERE id = 77);

残念ながら、実行エラーになります。

正しい書き方は、


SELECT * FROM upfiles WHERE instr((SELECT picture_id FROM msg where id=77),id)>0;

0 件のコメント:

コメントを投稿