我有一个表变量@Temp
和一个数据库表Master
。
这是两个表中的样本数据:
@Temp
:
EMPID ID
1 1
1 3
2 2
2 3
Master
:
EMPID ID
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
现在我必须从Master
表中删除一对EMPID& ID与@temp
表不匹配。它应该删除2行(@Temp表中不存在该对)。我还想保留@Temp表中不存在EMPID的记录。删除记录后,我的主表应该有以下记录。
输出
Master
EMPID ID
1 1
1 3
2 2
2 3
3 1
3 2
答案 0 :(得分:0)
你可以试试这个
DELETE FROM Master WHERE EMPID IN (SELECT EMPID FROM @Temp) AND NOT EXISTS
(SELECT 1 FROM @Temp WHERE EMPID=Master.EMPID AND ID = Master.ID)
如果有帮助,请将其标记为答案