TRANSFORM 语句
创建交叉表查询。
语法
TRANSFORM aggfunction
selectstatement
PIVOT pivotfield [IN (value1[, value2[, ...]])]
TRANSFORM 语句包含以下部分:
部分 说明
aggfunction 操作所选数据的 SQL 聚合函数。
selectstatement SELECT 语句。
pivotfield 希望用于创建查询结果集中列标题的字段或表达式。
value1,value2 用于创建列标题的固定值。
说明
使用交叉表查询汇总数据时,将从作为列标题的指定字段或表达式中选择值,以便能够以一种比使用选择查询更紧凑的方式来查看数据。
TRANSFORM 是可选的,但被包括时则是 SQL 字符串中的第一个语句。它在 SELECT 语句之前以指定作为行标题的字段,在 GROUP BY 子句之前以指定行分组方法。您也可以包含其他子句(如 WHERE),以指定其他选择或排序条件。还可以在交叉表查询中使用子查询作为谓词,特别是在 WHERE 子句中。
pivotfield 中返回的值作为查询结果集中的列标题。例如,在交叉表查询中如果依据月销售量来透视销售数据,将会创建 12 个列。可以约束 pivotfield 以便从可选 IN 子句中所列出的固定值(value1,value2)内选择标题。也可以包含固定值用于没有数据来创建其他列的情况。
举例
TRANSFORM Sum(Score.score) AS score之总计
SELECT Score.Name, Sum(Score.score) AS [总计 score]
FROM Score
GROUP BY Score.Name
PIVOT Score.subject;