返回在DB中找不到的子列表

时间:2011-02-28 19:42:34

标签: sql sql-server

我想构建一个sql查询,它将id列表作为输入,并返回那些在DB中找不到的id。这可能吗?

假设我有这个ID列表:id1,id2,id3和id4 ...如果在DB中找到id3和id4,它返回id1和id2。这可能吗?有人可以展示一个例子吗?

2 个答案:

答案 0 :(得分:1)

创建一个虚拟派生表,然后LEFT JOIN到表中并选择表中不存在的位置。

select madeuptable.find
from (
    select 'list1' find union all
    select 'list2' find union all
    select 'list3' find union all
    select 'list4' find
) madeuptable
left join tbl on tbl.somecolumn = madeuptable.find
where tbl.somecolumn is null

答案 1 :(得分:0)

尝试在select中使用except关键字。查询基本上不可能给你,因为没有上下文的信息,主要是,天气列表1 ... listn不是明确的实际列表或列表的ID。