Sql server 在SQL Server中使用多个表从一个表中删除数据
我正在尝试使用多个表从一个表中删除一些数据。我在这个查询中遇到的问题是,它正在删除不应该删除的数据。我只想删除两个表中ID不同的数据。换句话说,当两个表中的ID相同时,我希望保留。我的问题是:Sql server 在SQL Server中使用多个表从一个表中删除数据,sql-server,tsql,Sql Server,Tsql,我正在尝试使用多个表从一个表中删除一些数据。我在这个查询中遇到的问题是,它正在删除不应该删除的数据。我只想删除两个表中ID不同的数据。换句话说,当两个表中的ID相同时,我希望保留。我的问题是: delete Tabel1 from Table1 r join Table2 w on r.ID <> w.ID and w.Date_Assigned is not null 删除选项卡1 从表1到表1 表2 w关于r.ID w.ID 和w.Date_赋值不为空 您可能想做: dele
delete Tabel1
from Table1 r join
Table2 w on r.ID <> w.ID
and w.Date_Assigned is not null
删除选项卡1
从表1到表1
表2 w关于r.ID w.ID
和w.Date_赋值不为空
您可能想做:
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
选择r.ID
从表1到表1
表2 w关于r.ID w.ID
和w.Date_赋值不为空
你就会明白问题是什么