如何在Access中将tbl_1的两列转为单列多行结果集?
Access表行拆分实现方案
针对你的需求,直接用Access的UNION ALL查询就能实现——把原表的ColPaid和ColDiff分别拆成独立行,其余列重复输出,同时统一金额格式为$0.00。
具体SQL语句
SELECT Col1, Col2, Col3, Col4, Format(ColPaid, "$0.00") AS ColPaid FROM tbl_1 UNION ALL SELECT Col1, Col2, Col3, Col4, Format(ColDiff, "$0.00") AS ColPaid FROM tbl_1 ORDER BY Col1, Col2;
关键说明
- 第一个
SELECT提取原表的ColPaid值,用Format函数统一金额显示格式; - 第二个
SELECT提取ColDiff值,同样格式化后作为新的ColPaid行; UNION ALL用来合并两个查询结果,保留所有行(如果用UNION会自动去重,这里不需要);ORDER BY是为了让同一组的两行排在一起,和目标结果的顺序匹配。
操作步骤
- 打开Access数据库,创建新查询;
- 切换到SQL视图,粘贴上述语句(如果表名不是tbl_1,自行替换);
- 运行查询即可得到目标结果。
内容的提问来源于stack exchange,提问作者Datamint
相关产品推荐
相关产品推荐

