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

Access查询:如何将两个表中的PhoneNum字段合并为一个字段

当然可以实现!

在Access里,完全能通过查询来完成你这个合并字段的需求,具体可以根据你的数据情况选下面两种常用方法:

1. 关联匹配后合并字段(对应同一条完整记录)

如果Table A和Table B里的[PhoneNum]是用来匹配同一条完整记录的(比如A存客户的基础信息,B存客户的额外联系方式,同一个客户的PhoneNum在两个表里是一致的),那你可以用查询把两个表的字段整合,同时把两个PhoneNum合并成单个字段(还能处理其中一方为空的情况)。

直接写SQL的话,示例如下:

SELECT 
    Nz(TableA.PhoneNum, TableB.PhoneNum) AS 完整手机号,
    TableA.客户姓名,
    TableB.客户地址
FROM 
    TableA 
LEFT JOIN 
    TableB ON TableA.PhoneNum = TableB.PhoneNum;

这里的Nz()是Access专属函数,作用是如果TableA的手机号为空,就取TableB的,反之就用TableA的,这样就得到了合并后的单个手机号字段,同时还能把两个表的其他字段一起展示出来。

要是有些记录只在Table B里有,不在Table A里,那可以用UNION模拟全连接来覆盖所有情况:

SELECT 
    Nz(TableA.PhoneNum, TableB.PhoneNum) AS 完整手机号,
    TableA.客户姓名,
    TableB.客户地址
FROM 
    TableA 
LEFT JOIN 
    TableB ON TableA.PhoneNum = TableB.PhoneNum

UNION

SELECT 
    Nz(TableB.PhoneNum, TableA.PhoneNum) AS 完整手机号,
    TableA.客户姓名,
    TableB.客户地址
FROM 
    TableB 
LEFT JOIN 
    TableA ON TableB.PhoneNum = TableA.PhoneNum;

2. 合并两个表的所有手机号记录(无关联的联合)

如果你的需求是把两个表里所有的PhoneNum都合并到一个字段里(不管记录是否匹配,相当于把两列手机号合并成一个大列表),那用UNION查询就可以:

SELECT PhoneNum AS 完整手机号 FROM TableA
UNION
SELECT PhoneNum AS 完整手机号 FROM TableB;

这个查询会自动去掉重复的手机号,要是想保留重复的,把UNION改成UNION ALL就行。

小提示

  • 要是你不太会写SQL,也可以用Access的查询设计器:添加两个表,把两个表的PhoneNum字段拖到一起建立关联,然后在字段行输入完整手机号: Nz([TableA].[PhoneNum],[TableB].[PhoneNum])就能创建合并字段啦。
  • 操作前记得备份数据,避免意外情况~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:44:40