You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Testing1与Testing2的差异数据插入Testing3表并标记来源

解决方案

你可以通过UNION ALL合并两个查询分支,分别处理Testing1独有的数据和Testing2独有的数据,同时给各自的Source字段赋值对应的标记:

INSERT INTO Testing3 (ItemId, ItemPath, Source)
-- 插入仅存在于Testing1的数据,标记来源为Testing1
SELECT pm.ItemID, pm.ItemPath, 'Testing1' AS Source
FROM Testing1 pm
WHERE NOT EXISTS(
    SELECT ec.ItemId
    FROM Testing2 ec
    WHERE ec.ItemID = pm.ItemID
)
UNION ALL
-- 插入仅存在于Testing2的数据,标记来源为Testing2
SELECT ec.ItemID, ec.ItemPath, 'Testing2' AS Source
FROM Testing2 ec
WHERE NOT EXISTS(
    SELECT pm.ItemId
    FROM Testing1 pm
    WHERE pm.ItemID = ec.ItemID
);

补充说明

  • 第一个查询块保留了你原有的筛选逻辑,新增'Testing1' AS Source来指定来源标记;
  • 第二个查询块反向从Testing2取数,筛选出Testing1中不存在的记录,同时标记来源为Testing2;
  • 选用UNION ALL而非UNION是因为两个分支的结果不会有重复数据,UNION ALL的执行效率更高。

内容的提问来源于stack exchange,提问作者aasenomad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 09:15:38