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 件のコメント:
コメントを投稿