• ベストアンサー

select

2つのテーブルAとBがあります。 各々同様のKEY項目filedAがあります。 テーブルAにあってテーブルBにないレコードのみを 取得したい場合のSQL文はどうすればよいのでしょうか。

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

  • ベストアンサー
回答No.2

実行していないので、わかりませんが、これでいけないでしょうか? No1さんの流用: select KEY項目 from TABLE_A where (KEY項目1,KEY項目2) not in (select KEY項目1,KEY項目2 from TABLE_B) それか、joinを行い、結合できないものが無い項目です select * from TABLE_A left join TABLE_B on (TABLE_A.FIELD1=TABLE_B.FIELD1 and TABLE_A.FIELD2=TABLE_B.FIELD2) where TABLE_B.FIELD1 is null 条件で結合できない部分はnull値が入ります。 これでいかがでしょうか?

shin-cyan
質問者

お礼

ありがとうございます。 出来ました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

例えばTABLE_AにあってTABLE_Bに無いKEY項目を抽出する場合・・・ select KEY項目 from TABLE_A where KEY項目 not in (select KEY項目 from TABLE_B) 単純ですが、コレで抽出可能です。

shin-cyan
質問者

お礼

早速のご回答ありがとうございます。 KEY項目が2つある場合はどうなるのでしょうか。

すると、全ての回答が全文表示されます。

関連するQ&A