我正在尝试使用多个表从一个表中删除一些数据。我对此查询的问题是它正在删除不应删除的数据。我想只删除两个表中ID不同的数据。换句话说,我希望在两个表中的ID相同时保留。这是我的疑问:
delete Tabel1
from Table1 r join
Table2 w on r.ID <> w.ID
and w.Date_Assigned is not null
答案 0 :(得分: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
你会明白问题所在。