我有一个table1:
ID month first_name last_name
11 1 bla1 bla2
11 2 bla1 bla2
11 3 bla1 bla2
11 4 bla1 bla2
22 1 bla3 bla4
22 2 bla3 bla4
22 3 bla3 bla4
22 4 bla3 bla4
另一张表 - table2:
Id month
11 1
11 3
22 4
我想根据表2删除表1中的记录,所以我最终得到:
ID month first_name last_name
11 2 bla1 bla2
11 4 bla1 bla2
22 1 bla3 bla4
22 2 bla3 bla4
22 3 bla3 bla4
任何简单的方法吗?
Delete from table1 tb1
where tb1.Id = tb2.Id and tb1.month = tb2.month
但我确定正确加入。
答案 0 :(得分:4)
您可以执行以下操作来指定在执行连接时要删除的数据。
DELETE tb1
FROM table1 as tb1
INNER JOIN table2 as tb2 ON tb1.Id = tb2.Id
WHERE tb1.month = tb2.month
答案 1 :(得分:0)
delete tb1
from table1 tb1
where exists
(select 1 from table2
where tb1.id=tb2.id
and tb1.month=tb2=month)