2

複数のテーブルを使用して、1 つのテーブルからいくつかのデータを削除しようとしています。このクエリで私が抱えている問題は、削除するはずのないデータを削除していることです。両方のテーブルの ID が異なるデータのみを削除したい。つまり、両方のテーブルの ID が同じ場合に保持したいということです。これが私のクエリです:

delete  Tabel1
from Table1 r join
Table2 w on r.ID <> w.ID
and w.Date_Assigned is not null
4

1 に答える 1

3

あなたはおそらくやりたいでしょう:

delete Tabel1 where Id not in (select Id from Table2)

あなたのステートメントはおそらくからすべてのレコードを削除します。なぜなら、すべてのレコードに対して、異なる。を持つTabel1少なくとも1つのレコードが見つかるからです。Tabel2ID

これをテストするには、実行するだけです

select r.ID
from Table1 r join
Table2 w on r.ID <> w.ID
and w.Date_Assigned is not null

そして、あなたは問題が何であるかを理解するでしょう。

于 2013-01-01T20:23:29.317 に答える