こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

SQLで他のテーブルに無いIDの抽出

MySQLを使っています。

下記は、
1.テーブルaaaには、存在するidのものが、
2.テーブルbbbには、存在しない、
3.テーブルaaaのレコードを抽出したいものです。

"SELECT DISTINCT aaa.*"
+ " FROM aaa"
+ " WHERE (aaa.flag = false)"
+ " AND NOT EXISTS (SELECT * FROM bbb"
+ " WHERE (aaa.id = bbb.id) AND (bbb.flag = false))"

ですが、実行すると、下記エラーがでます。
SQLException:Base table or view not found, message from server: \"Unknown table 'bbb' in where clause"

どうすればよいのでしょうか?

投稿日時 - 2015-07-08 15:51:13

QNo.9008473

困ってます

質問者が選んだベストアンサー

"SELECT DISTINCT aaa.*"
+ " FROM aaa"
+ " WHERE (aaa.flag = false)"
+ " AND aaa.id NOT IN (SELECT bbb.id FROM bbb"
+ " WHERE (bbb.flag = false))"

って感じでどうかしら?試してないけど。

投稿日時 - 2015-07-08 16:17:52

お礼

ご回答ありがとうございます。

それで、ためして見てみます。

お手数をおかけしました。

投稿日時 - 2015-07-08 16:56:10

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

エラーメッセージを見る限り、SQLの構文エラーではなくbbbテーブルが存在していないようです。
本当にbbbテーブルは存在していますか?

投稿日時 - 2015-07-08 16:54:56

あなたにオススメの質問