我有两张桌子:
CREATE TABLE MyTable1
(
ID INT,
txtName VARCHAR(100),
txtValue VARCHAR(100),
)
CREATE TABLE MyTable2
(
ID INT,
txtName VARCHAR(100),
txtValue VARCHAR(100),
)
我想删除MyTable2
中txtName
和txtValue
字段未分配到MyTable1
中的记录的所有记录。请告诉我如何使用SQL实现此目的。
答案 0 :(得分:3)
使用not exists()
:
delete t2
from MyTable2 t2
where not exists (
select 1
from MyTable1 t1
where t1.txtName = t2.txtName
and t1.txtValue = t2.txtValue
)
rextester演示:lazy_static