|
先来看看这个语句做什么用?语法怎样?
TRANSFORM 语句
创建交叉表查询Creates a crosstab query .
语法
TRANSFORM aggfunction
selectstatement
PIVOT pivotfield [IN (value1[, value2[, ...]])]
这个语句当初我一头雾水,嘿嘿! 现在终于掌握了。
例: transform sum(t1.数量)
select t1.型号 FROM (select *,'表一数量' as TableNo from [sheet1$a3:b10] union all select *,'表二数量' as TableNo from [sheet1$d3:e10]) as t1 group by t1.型号
pivot t1.TableNo
例句原帖见
如何将这样的两个表格合并成一个表格
http://club.excelhome.net/viewth ... d=369907#pid3635100
或者见5楼汇集
http://club.excelhome.net/viewth ... d=369907#pid3646366
怎么学习这个语句呢? 谈谈我的感想:
这个语句与数据透视表是相通的。
其中的selectstatement , 相当于数据透视表的行字段. ,
其中的aggfunction , 聚合函数的参数相当于拖到数据透视表数据区域的值字段。使用的聚合函数即值字段的汇总方式
其中的 pivotfield 相当于数据透视表的列字段,后面的IN (value1[, value2[, ...]])],相当列字段中的项的排序和筛选
只要摆弄过数据透视表,将transform/pivot语句与数据透视表对照,掌握这个MS JET新增SQL语句不在话下!
以上为个人浅见, 欢迎大家补充!
以下摘自 《ACCESS 2000 DEVELOPER'S HANDBOOK》
1. TRANSFORM语句不支持HAVING子句
2. 列字段的项的个数理论上限为254个。 但是>=20个左右时,计算很可能已不准确。
[ 本帖最后由 livewire 于 2010-3-30 17:03 编辑 ] |
评分
-
2
查看全部评分
-
|