考虑有两个表,如下所示。
表1:
单位 | SKU编号 | 活动|
---|---|---|
A | 1 | Y|
B | 2 | Y |
c | 3 | Y
您可以使用与exists类似的逻辑:
DELETE
FROM table1 t1
WHERE EXISTS (SELECT 1 FROM table2 t2
WHERE t2.Unit = t1.Unit AND t2.SKU_Number = t1.SKU_Number);
您可以尝试使用此查询,假设表1的Unit
是唯一的:
DELETE FROM table1
WHERE table1.Unit IN (
SELECT table1.Unit
FROM table1
LEFT JOIN table2 ON table1.Unit = table2.Unit
AND table1.SKU_Number = table2.SKU_Number
)
如果单位不是唯一字段,只需将其替换为唯一字段,或替换为表1的主键。
您可以使用内部联接进行删除:
DELETE t1
FROM table1 t1
INNER JOIN table2 t2
ON t1.unit=t2.unit and t1.SKU_Number = t2.SKU.Number