首页 > 解决方案 > 如何查看两张表之间的差异

问题描述

我有 2 张桌子:1 张临时桌子,另一张是我的主桌子。

每天我都会更新我的临时表,并且我想根据我对临时表所做的更改来更新我的主表。

示例:第一个临时表包含一个 ID 和名称。然后我将 temp 中的值插入到主表中。但是当我从临时表中进行更改时,比如插入另一个 ID 和名称,我希望我的主表进行比较,并且只插入临时表中的唯一 ID。

标签: sqlsql-server

解决方案


您可以使用NOT EXISTS如下

INSERT into main_table(
    id, name,
    ...
)
SELECT
    id,name,
    ...
FROM temp_table t
WHERE
    NOT EXISTS(
        SELECT 1
        FROM main_table m
        WHERE m.id = t.id
    )

干杯!!


推荐阅读