Matthew的Blog

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::

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;

posted on 2006-07-26 14:54 matthew 阅读(1375) 评论(1)  编辑 收藏 引用 所属分类: Access相关

评论

# re: Access中的交叉表 2008-08-25 15:16 fenglei801221
交叉表中能从窗体中获得动态的参数来出有多少列吗?  回复  更多评论
  

只有注册用户登录后才能发表评论。