2
select文から返されるテーブルの行を削除します。where from exists(select ...)すべての行を削除します。
ここでは機能しない単純な例を示します。ここで
declare @t1 table(a int, b int, c int)
insert into @t1(a,b,c) select 1, 10, 1
insert into @t1(a,b,c) select 1, 5, 2
select ta.a, ta.b, ta.c
from @t1 ta
join @t1 tb on ta.a = tb.a
where ta.c < tb.c
delete from @t1
where exists (select ta.a, ta.b, ta.c
from @t1 ta
join @t1 tb on ta.a = tb.a
where ta.c < tb.c)
select * from @t1
は、あなたが選択は、単一の行を選択見ることができ、出力されますが、削除は、問題は、あなたが
EXISTS
を使用しているという事実であるすべてのもの
あなたの内側の選択クエリは削除クエリにどのようにも結合されません。 – litelite
@litelite私は、選択結果が結果として返された行を表示するために使用していました – TagJones