0

Id 列を持つテーブル Aがあります。

Id1 と Id2 列を持つテーブル Bがあります。

Id1 または Id2 がテーブル Aに存在しないテーブル bのすべての行を返したいとします。テーブル bのId1 または Id2 のいずれかがテーブル Aに一致する場合、その結果を返したいと思います。

したがって、テーブル Aが次のようになっているとします。

Id    
123
456
789

テーブル Bは次のようになります。

Id1 Id2    
123 545
343 432
184 789

行 1 と 3 は、それぞれテーブル Aに一致するため、返されません。ただし、テーブル bの行 2 はどちらの列にも一致しないため、返されます。

私は頭を悩ませてきましたが、クエリを理解できないようです。どんな助けでも大歓迎です!

4

2 に答える 2

1

一部のデータが別のテーブルに存在しないレコードを探す場合、 exists句が常に存在するため、この名前が付けられました ;-)

select * from tableB 
where not exists
(
  select *
  from tableA
  where id in (tableB.id1, tableB.id2)
); 
于 2013-04-11T14:33:53.277 に答える