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

MS Access 2016中使用SQL合并多表的技术咨询

MS Access 2016多表合并SQL实现方案

嘿,我来帮你搞定Access里的多表合并问题!先明确下你的两个数据表结构和数据:

数据表详情

Table1

Column1Column2Column3Column4
1APS
1BJJ
1CPS
1DSP
2ESP
2FPS
2GPS
2HSP
2KJJ

Table2

Column5Column6Column7Column8
1ZiSupplier
1ZiiSupplier
1ZiiiSupplier
1ZivSupplier
1ZvSupplier
1ZviJoin...的内容

接下来根据不同的合并需求,给你对应的SQL语句:

常见合并场景及SQL代码

1. 按关联字段匹配合并(最常用)

看你的表,Table1的Column1和Table2的Column5都是数字标识(比如1、2),应该是要按这个字段关联合并。

只保留两边都匹配的记录(INNER JOIN)

如果只需要同时存在于两个表中的匹配记录(比如只保留Column1=1的记录,因为Table2里只有Column5=1的数据),用这个:

SELECT 
    t1.Column1, t1.Column2, t1.Column3, t1.Column4,
    t2.Column6, t2.Column7, t2.Column8
FROM 
    Table1 AS t1
INNER JOIN 
    Table2 AS t2 ON t1.Column1 = t2.Column5;

执行后会得到24条结果(Table1中Column1=1的4条记录 × Table2中Column5=1的6条记录)。

保留Table1所有记录,匹配不到的显示空值(LEFT JOIN)

如果想保留Table1里所有记录(包括Column1=2的那些),哪怕Table2里没有对应匹配的数据,就用左连接:

SELECT 
    t1.Column1, t1.Column2, t1.Column3, t1.Column4,
    t2.Column6, t2.Column7, t2.Column8
FROM 
    Table1 AS t1
LEFT JOIN 
    Table2 AS t2 ON t1.Column1 = t2.Column5;

这样Column1=2的记录会被保留,对应的Table2字段会显示Null。

2. 无关联全量组合(笛卡尔积)

如果不需要任何关联条件,只是把两个表的每一行都两两组合,用交叉连接:

-- 两种写法都可以,Access都支持
SELECT 
    t1.Column1, t1.Column2, t1.Column3, t1.Column4,
    t2.Column5, t2.Column6, t2.Column7, t2.Column8
FROM 
    Table1 AS t1, Table2 AS t2;

-- 标准SQL写法
SELECT 
    t1.Column1, t1.Column2, t1.Column3, t1.Column4,
    t2.Column5, t2.Column6, t2.Column7, t2.Column8
FROM 
    Table1 AS t1
CROSS JOIN 
    Table2 AS t2;

执行后会得到9×6=54条结果,每个Table1的行都对应Table2的每一行。

3. 纵向拼接(字段对齐后)

如果是想把两个表的记录上下拼接成一个大表(类似Excel的合并单元格),需要先把两个表的字段对齐(字段数、类型一致),用UNION ALL(保留重复)或者UNION(自动去重):

-- 示例:手动给字段起别名对齐,根据你的实际需求调整字段映射
SELECT Column1 AS ID, Column2 AS Code, Column3 AS Type, Column4 AS Value FROM Table1
UNION ALL
SELECT Column5 AS ID, Column6 AS Code, Column7 AS Type, Column8 AS Value FROM Table2;

注意:UNION要求两个查询的字段数量和数据类型必须匹配,所以要根据你的实际业务含义调整字段的对应关系哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:57:30