1

ブラケットか何かが足りないのかもしれませんが、参加したままのテーブル変数から行を削除して、参加しているキーを探すのに苦労しています。値がある場合は、それを取り除きます。問題は、クエリを解析できないことです。何か案は?

declare @MrTemp 
(
    key1 int
   ,key2 int
)

insert into @MrTemp
select key1, key2 from ASourceTable

delete  
from @MrTemp mt
left join ARealTable art on mt.key1 = art.key1 and mt.key2 = art.key2 
where art.key1 is not null and art.key2 is not null
4

3 に答える 3

2
DELETE @MrTemp
FROM @MrTemp mt LEFT JOIN ...
于 2009-03-31T16:09:40.820 に答える
1

一度に削除できるテーブルは1つだけです。

@MrTempから削除する[ARealTableに一致するレコードがある場合]

delete mt
from @MrTemp mt left join ARealTable art on mt.key1 = art.key1 and mt.key2 = art.key2 where art.key1 is not null and art.key2 is not nu

ll

また。ARealTableから削除します[ここでも、レコードにはARealTableに対応するレコードがあります]

delete art
from @MrTemp mt left join ARealTable art on mt.key1 = art.key1 and mt.key2 = art.key2 where art.key1 is not null and art.key2 is not null
于 2009-03-31T16:15:58.810 に答える
1

削除後、削除するテーブルの from の前にエイリアスを参照する必要があります

delete art 
from @MrTemp mt left join ARealTable art on 
mt.key1 = art.key1 and mt.key2 = art.key2 
where art.key1 is not null and art.key2 is not null
于 2009-03-31T16:09:50.993 に答える