我有一个国家列表,我想找到哪一个不在表中。
让我们说我的名单是这样的:('希腊','智利','夏威夷')并且表中已经存在希腊和智利而不存在夏威夷。
如何查询以查找我提供的列表中缺少的内容?
提前致谢。
答案 0 :(得分:0)
一种方法是将您的标准放在另一个表中,然后使用外连接。例如:
DECLARE @Test as table(Cnty varchar(50))
insert into @Test(Cnty) values ('Greece')
insert into @Test(Cnty) values ('Chile')
SELECT tmp2.Cntry FROM (
SELECT * FROM @Test t
RIGHT JOIN (SELECT 'Greece' Cntry UNION ALL
SELECT 'Chile' UNION ALL
SELECT 'Hawaii') Tmp
ON t.Cnty = tmp.Cntry
) tmp2
WHERE cnty is null