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

使用Power Query合并同结构表格并聚合重复行数据

合并两张产品表并整合部门标识

我有两张结构完全相同的产品存储表,每行记录一个产品及其适配的部门标识。但两张表中可能存在同一产品对应不同部门标识的情况,现需将两张表合并为一张,使重复出现的产品不显示为两行,而是合并行并整合两张表中的部门标识。

示例数据

表01

ProductDepartment ADepartment B
Item AX
Item BX
Item CX

表02

ProductDepartment ADepartment B
Item AX
Item CX
Item DX

合并后结果

ProductDepartment ADepartment B
Item AXX
Item BX
Item CXX
Item DX

解决方案

可以通过UNION ALL合并两张表的所有数据,再用GROUP BY按产品分组,结合**MAX()**函数保留每个部门的有效标识(只要任意一张表中该产品对应部门有X,就保留X,否则为空)。

假设两张表分别名为table_01和table_02,SQL语句如下:

SELECT
    Product,
    MAX(`Department A`) AS `Department A`,
    MAX(`Department B`) AS `Department B`
FROM (
    SELECT Product, `Department A`, `Department B` FROM table_01
    UNION ALL
    SELECT Product, `Department A`, `Department B` FROM table_02
) combined
GROUP BY Product;

说明

  • UNION ALL:保留两张表的所有记录(包括重复产品行),避免UNION自动去重导致部门标识丢失。
  • **MAX()**函数:非空的X会被优先保留,若两张表中该部门都为空则返回空值。
  • GROUP BY Product:将同一产品的多行记录合并为一行,实现部门标识的整合。

注:若数据库对含空格的列名有语法要求,需用反引号(MySQL)或方括号(SQL Server)包裹列名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 00:02:24