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

SQL合并含相同/不同列的多表为唯一表的方案咨询

结论

左连接不是实现该需求的最优方案:
左连接的逻辑是基于指定关联键匹配不同表的行,而你的需求是保留三个数据集的全部独立行、不需要跨行匹配,使用左连接不仅会增加不必要的关联逻辑,还可能因为关联键无交集丢失其他表的行。
你需要的是带列自动对齐的纵向追加/合并操作:所有表按行堆叠,相同列名自动合并为一列,仅存在于单表的列自动补空,完全匹配你的预期输出要求。

常见工具实现方法

Python Pandas

使用pd.concat方法即可自动完成列对齐、公共列合并,无需额外处理重复列:

import pandas as pd
# 读取三个数据集
df1 = pd.read_csv("dataset1.csv")
df2 = pd.read_csv("dataset2.csv")
df3 = pd.read_csv("dataset3.csv")
# 纵向合并,自动对齐列,缺失值填充为空
result = pd.concat([df1, df2, df3], ignore_index=True)

SQL

使用带列补全的UNION ALL实现,手动给每个表补全缺失的列即可:

SELECT Customer_ID, Date, Category, Address, City, School, NULL AS Country, NULL AS Zipcode, NULL AS University FROM dataset1
UNION ALL
SELECT Customer_ID, Date, Category, NULL AS Address, NULL AS City, NULL AS School, Country, Zipcode, NULL AS University FROM dataset2
UNION ALL
SELECT Customer_ID, Date, Category, NULL AS Address, NULL AS City, School, NULL AS Country, NULL AS Zipcode, University FROM dataset3

Excel Power Query

  1. 依次将三个表导入Power Query编辑器
  2. 点击「主页」选项卡→「追加查询」→选择「将三个或更多表追加到一起」
  3. 将三个表添加到右侧待合并列表,确认后即可自动按列名对齐,公共列仅保留一份。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:45:03