0

そのため、列のすべての行を別の列のすべての行と比較し、比較対象の列に存在しない行を除外する方法を見つけようとしています。次のような行ごとの基本で2つの列を比較する方法を理解しています。

select table1.column1
from table1 inner join
     table2 on table1.id = table2.id
where column1 <> column2

しかし、column1 の table1 の行を table2 の column2 のすべての行と比較し、column2 にまったく存在しない column1 の行を見つけたいと考えています。したがって、これらの値を持つ列のようなものになります。

Column1        Column2
1              2
2              1
4              3
5              5
7              6

そして、SQLの後は次のようになります。

Column1
4
7 
4

4 に答える 4

1

NOT IN で試してください:

select table1.column1
from table1
where table1.column1 not in (select table2.column2 from table2)
于 2012-08-17T13:32:54.907 に答える
0

2つのテーブル間で列を比較する場合

SELECT table1.column1 FROM table1
WHERE table1.column1 NOT IN
(SELECT table2.column2 as column1 FROM table2)

column1 と column2 を同じテーブルに対して比較する場合

SELECT table1.column1 FROM table1
WHERE table1.column1 NOT IN
(SELECT table1.column2 as column1 FROM table1)
于 2012-08-17T13:33:42.517 に答える
0
select t1.id
from ... t1
left join ... t2 on t1.id = t2.id
where t2.id is null
于 2012-08-17T13:44:33.790 に答える
0
select column1 from table1 as t1 where not exists
(select column2 from table2 as t2 where t1.id=t2.id)
于 2012-08-17T13:32:34.967 に答える