Problemet, jeg tror, er, at du prøver at finde værdier fra dig i udtalelsen. Det, du skal gøre, er at omdanne din in-sætning til en tabel, og så kan du bestemme, hvilke værdier der er forskellige.
create table #temp
(
value int
)
insert into #temp values 1
insert into #temp values 2
insert into #temp values 3
insert into #temp values 4
select
id
from
#temp
where
not exists (select 1 from Tab where Col = id)
Et bedre alternativ ville være at oprette en funktion med tabelværdi for at omdanne din kommaseparerede streng til en tabel. Jeg har ikke nogen kode ved hånden, men den burde være let at finde på Google. I så fald behøver du kun bruge nedenstående syntaks.
select
id
from
dbo.SplitStringToTable('2,3,6,7')
where
not exists (select 1 from Tab where Col = id)
Håber dette hjælper