我有一张桌子X和Y
表X
a
b
c
d
表Y
a 1 1
a 32 5
b 1 1
b 4 5
c 5 65
我想要输出c和d,因为它们没有在表Y中记录值为1 1
我怎样才能得到它?
答案 0 :(得分:3)
你没有给出任何列名,所以我做了一些!
SELECT col1
FROM tablex
EXCEPT
select col1
FROM tabley
WHERE col2=1 and col3=1
如果您的示例过于简化,并且实际上需要tablex
中的其他列,请使用NOT EXISTS
SELECT tablex.*
FROM tablex
WHERE NOT EXISTS (SELECT *
FROM tabley
WHERE col2 = 1
AND col3 = 1
AND tablex.col1 = tabley.col1)
答案 1 :(得分:1)
我想我明白了:
SELECT X.column FROM X
WHERE X.column NOT IN
(SELECT Y.column FROM Y WHERE Y.column2=1 AND Y.column3=1)
答案 2 :(得分:1)
SELECT col1
FROM TableX
WHERE col1
NOT IN (select col1
FROM TableY
WHERE col2=1 and col3=1)