首页 > 解决方案 > 使用另一个表中的多个标识列从表中删除

问题描述

如上所述,我有两个表:

表格1

A 栏、B 栏、C 栏、D 栏

表 2

A栏、B栏、C栏、E栏、F栏

除了其中包含的数据之外,表之间没有任何关系(表2是临时表)。我想从表一中删除它们存在于表 2 中的行。但是,它必须基于三列的组合。例如,如果表 2 中有 A、B 和 C 列都匹配的记录,则删除表 1。

标签: sql-server

解决方案


您可能正在寻找一个INNER JOIN DELETE.

DELETE a
FROM Table1 a
INNER JOIN Table2 b
ON a.ColumnA=b.ColumnA
AND a.ColumnB=b.ColumnB
AND a.ColumnC=b.ColumnC

(或任何关系。)


推荐阅读