Věřím, že problém je v tom, že se od vás snažíte najít hodnoty ve výpovědi. Co musíte udělat, je převést váš příkaz in do tabulky a pak můžete určit, které hodnoty se liší.
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)
Lepší alternativou by bylo vytvořit funkci s hodnotou tabulky, která by váš řetězec oddělený čárkami proměnila v tabulku. Nemám po ruce žádný kód, ale mělo by být snadné ho najít na Googlu. V takovém případě budete muset použít pouze níže uvedenou syntaxi.
select
id
from
dbo.SplitStringToTable('2,3,6,7')
where
not exists (select 1 from Tab where Col = id)
Doufám, že to pomůže