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

如何用单条SQL查询识别两Excel工作表差异的Order ID+Product ID组合

识别Excel两工作表中独有的(Order ID + Product ID)组合并保存结果

核心思路

不用拼接Order ID和Product ID列,直接以这两列作为关联条件,通过LEFT JOIN找出仅存在于表1的组合,RIGHT JOIN找出仅存在于表2的组合,再用UNION ALL合并结果,最后将结果存入新工作表。

完整SQL语句

假设表1对应Excel工作表Sheet1,表2对应Sheet2,执行以下语句会自动生成名为独有组合的新工作表:

SELECT * INTO [独有组合$]
FROM (
    -- 仅存在于表1的组合
    SELECT '仅表1' AS 来源, t1.[Order ID], t1.[Product ID], t1.Qty
    FROM [Sheet1$] t1
    LEFT JOIN [Sheet2$] t2 
        ON t1.[Order ID] = t2.[Order ID] 
        AND t1.[Product ID] = t2.[Product ID]
    WHERE t2.[Order ID] IS NULL

    UNION ALL

    -- 仅存在于表2的组合
    SELECT '仅表2' AS 来源, t2.[Order ID], t2.[Product ID], t2.Qty
    FROM [Sheet1$] t1
    RIGHT JOIN [Sheet2$] t2 
        ON t1.[Order ID] = t2.[Order ID] 
        AND t1.[Product ID] = t2.[Product ID]
    WHERE t1.[Order ID] IS NULL
) AS 独有数据集

关键说明

  1. 避免拼接列的问题:直接用两列关联比拼接更稳定,不会因为字段含特殊字符(如横线、空格)导致匹配错误。
  2. 保存结果的逻辑:SELECT ... INTO [新表名$]是Excel Jet SQL语法,会直接在当前工作簿创建新工作表存储结果。
  3. 执行方式:在Excel中通过「数据」选项卡→「自其他来源」→「来自Microsoft Query」,选择当前工作簿后输入上述SQL即可执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 20:50:29