MS Access 2016数据透视表能否为列名设置别名?
在MS Access 2016中实现透视查询表头添加“- Rank”后缀
可以实现,以下是两种实用的解决方法:
方法1:子查询拼接名称后透视(推荐,适配动态列表)
无需提前枚举保险公司名称,会自动根据Insurers表中的所有条目生成带后缀的表头:
TRANSFORM First(p.ranking) AS FirstOfrankingName SELECT p.policyID FROM ( -- 子查询中拼接带后缀的保险公司名称 SELECT i.insName & " - Rank" AS InsRankName, p.policyID, p.ranking FROM Insurers i LEFT JOIN PolicyInsurerRankings p ON i.insName = p.insName ) AS RankQuery GROUP BY policyID PIVOT InsRankName;
执行后表头会自动变为Great West - Rank、Manulife - Rank这类格式,完全匹配需求。
方法2:指定固定列名(适合保险公司列表固定的场景)
如果保险公司名称不会变动,可直接在PIVOT子句中指定带后缀的列名:
TRANSFORM First(p.ranking) AS FirstOfrankingName SELECT p.policyID FROM Insurers i LEFT JOIN PolicyInsurerRankings p ON i.insName = p.insName GROUP BY p.policyID PIVOT i.insName IN ('Great West' AS 'Great West - Rank', 'Manulife' AS 'Manulife - Rank');
这种方式需要手动列出所有保险公司名称,但能精确控制列的显示顺序。
注:Access透视查询对动态列支持有限,第一种方法会自动适配Insurers表的新增条目,第二种则需手动更新IN子句内容。
内容的提问来源于stack exchange,提问作者user1706426
相关产品推荐
相关产品推荐

