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

MS Access中如何将25个同类型列按顺序合并为单列?

解决MS Access多列合并为单列的问题

嘿,这个问题我熟!要把Access里25个同类型列按原顺序合并成单列,用UNION ALL查询是最直接靠谱的办法,而且能完美保留所有原始数据和列的顺序。

核心思路

UNION ALL会把多个SELECT查询的结果堆叠在一起,正好符合我们把每一列的内容依次放到单列里的需求。和UNION不同,它不会自动去重,能完整保留所有原始值,包括重复项——这应该是你需要的。

具体SQL代码示例

假设你的表名叫YourTable,要合并的列是D1到D25,可以用下面的SQL语句:

-- 保留原列来源的版本(推荐,方便追溯数据)
SELECT D1 AS CombinedColumn, 'D1' AS SourceColumn FROM YourTable
UNION ALL
SELECT D2 AS CombinedColumn, 'D2' AS SourceColumn FROM YourTable
UNION ALL
SELECT D3 AS CombinedColumn, 'D3' AS SourceColumn FROM YourTable
UNION ALL
SELECT D4 AS CombinedColumn, 'D4' AS SourceColumn FROM YourTable
-- 在这里继续添加D5到D25的SELECT语句,格式和上面完全一致
UNION ALL
SELECT D25 AS CombinedColumn, 'D25' AS SourceColumn FROM YourTable
ORDER BY SourceColumn; -- 按原列顺序排序结果

如果不需要记录每个值原来属于哪一列,也可以简化成:

SELECT D1 AS CombinedColumn FROM YourTable
UNION ALL
SELECT D2 AS CombinedColumn FROM YourTable
-- 依次添加到D25

额外技巧:过滤空值

如果你的列里有NULL值,不想把它们包含到合并后的列里,可以给每个SELECT语句加个过滤条件:

SELECT D1 AS CombinedColumn FROM YourTable WHERE D1 IS NOT NULL
UNION ALL
SELECT D2 AS CombinedColumn FROM YourTable WHERE D2 IS NOT NULL
-- 以此类推到D25

操作步骤

  1. 打开你的Access数据库,找到目标表
  2. 点击「创建」选项卡,选择「查询设计」,然后直接切换到「SQL视图」
  3. 把上面的SQL代码粘贴进去,替换YourTable为你的实际表名,补全D5到D25的所有SELECT语句
  4. 点击运行按钮,就能得到合并后的单列数据了——你还可以把这个查询保存下来,以后直接用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:49:02