私が信じている問題は、あなたがステートメントであなたから価値を見つけようとしているということです.必要なことは、in ステートメントをテーブルに変換することです。そうすれば、どの値が異なるかを判断できます。
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)
より良い代替手段は、コンマ区切りの文字列をテーブルに変換するテーブル値関数を作成することです。便利なコードはありませんが、Google で簡単に見つけられるはずです。その場合、以下の構文を使用するだけで済みます。
select
id
from
dbo.SplitStringToTable('2,3,6,7')
where
not exists (select 1 from Tab where Col = id)
これが役立つことを願っています