2

QuickExplain:我的 elementList 是 [1, 2, 3, 4],如果表中不存在 3, 4,我想要 3, 4。

PS。如果您使用“NOT IN”,这将返回表中的值但我只想要我查询的 elementList 中的元素。

4

3 回答 3

2

您可以使用临时表:

create table #elements (name varchar(50))

insert into #elements (name) values ('1')
insert into #elements (name) values ('2')
insert into #elements (name) values ('3')
insert into #elements (name) values ('4')

select name
from #elements
where name not in (select col1 from tab);

drop table #elements
于 2013-07-04T12:42:52.357 回答
0

无论你在做什么,试着做相反的事情。如果你只想要元素列表中的元素,那么试试这个

select elements from elementList where col1 not in (select col1 from table)
于 2013-07-04T12:34:48.010 回答
0

有点冗长但干净地解决了目的 select * from (select 'item1' as items UNION select 'item2' as items UNION ... select 'itemN' as items ) as notFoundItemList where items NOT IN

(从表 WHERE AND itemName in 中选择 ITEM)

于 2013-07-17T07:28:53.997 回答