2

我正在尝试使用多个表从一个表中删除一些数据。我在这个查询中遇到的问题是它正在删除不应该删除的数据。我只想删除两个表中 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,因为对于每条记录,它都会找到至少一个Tabel2具有不同的ID.

要对此进行测试,只需运行

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 回答