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

TRANSFORM PIVOT工作原理及查询结果合并为单行的实现方法

问题分析与修改方案

一、TRANSFORM PIVOT 运行逻辑说明

这是Access数据库特有的交叉表查询语法,执行逻辑如下:

  • 先执行FROM和WHERE筛选条件,得到符合要求的源数据
  • 按GROUP BY指定的字段做分组,每个分组对应结果表中的一行
  • PIVOT后指定的字段值会被展开为结果表的列标题
  • TRANSFORM后指定的聚合函数,会计算「每个分组 + 每个PIVOT列」对应的值,填充到交叉单元格中

二、原查询多行输出的原因

你原语句中GROUP BY Name,也就是每个不同的Name会生成独立的行,同时PIVOT Name又把每个Name作为列标题,所以最终每个行只有当前分组Name对应的列有值,其余列为空,就出现了你看到的对角线有值的结果。

三、修改后的查询语句

TRANSFORM MAX(NbTest)
SELECT 'Result =' AS Expr1002
FROM TableTest
WHERE Date=#25/10/2021#
GROUP BY 'Result ='
PIVOT Name

四、修改点说明

  • TRANSFORM后增加MAX聚合函数:因为要把多个Name的NbTest值合并到同一行,每个Name对应的值唯一,用MAX/SUM/AVG都可以实现正确取值
  • SELECT子句改为固定字符串'Result ='并别名指定为Expr1002:对应你要的第一列展示效果
  • GROUP BY改为固定字符串:不再按Name分组,所有符合条件的数据会被聚合为单行输出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 13:24:04