首页 > 解决方案 > 从 SQL 中的表中删除结果行

问题描述

我有 2 个名为BM_Data1&的表BM_Data1_May62019BM_Data1_May62019两个表都包含与表副本相同的数据BM_Data1。但是BM_Data1有一些额外的行,我如何从中删除这些额外的行BM_Data1并使其与BM_Data1_May62019.

我使用以下查询获得了额外的行。

SELECT * FROM
(SELECT * FROM BM_DATA1
EXCEPT
SELECT * FROM BM_DATA1_MAY62019) a

7803额外的行,我怎样才能从BM_Data1表中删除它们?

谢谢你

标签: sqlsql-server

解决方案


当您确认 RECID 在两个表中都具有唯一值时,您可以尝试以下脚本

DELETE FROM BM_DATA1
WHERE RECID NOT IN
(
    SELECT RECID FROM BM_DATA1_MAY62019
)

推荐阅读