【发布时间】:2014-03-06 15:06:55
【问题描述】:
我有一份国家/地区列表,我想找出表格中没有的国家/地区。
假设我的列表是这样的:('Greece', 'Chile', 'Hawaii') 并且表中已经存在希腊和智利,但不存在夏威夷。
如何进行查询以查找我提供的列表中缺少的内容?
提前致谢。
【问题讨论】:
标签: sql-server list search elements
我有一份国家/地区列表,我想找出表格中没有的国家/地区。
假设我的列表是这样的:('Greece', 'Chile', 'Hawaii') 并且表中已经存在希腊和智利,但不存在夏威夷。
如何进行查询以查找我提供的列表中缺少的内容?
提前致谢。
【问题讨论】:
标签: sql-server list search elements
一种方法是将您的条件放在另一个表中,然后使用外连接。例如:
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
【讨论】: