Office中国论坛/Access中国论坛

标题: 如何将交叉表嵌入到其他查询中合并成一条sql语句? [打印本页]

作者: 孤帆远影    时间: 2010-3-9 10:16
标题: 如何将交叉表嵌入到其他查询中合并成一条sql语句?
查询1:
TRANSFORM Count(表1.性别) AS 性别之计数 SELECT 表1.性别 FROM 表1 GROUP BY 表1.性别 PIVOT 表1.性别;
运行正常

查询2:
SELECT a2.性别, nz([男])+nz([女]) AS 数量
FROM 查询1;
运行正常

查询3:
SELECT a2.性别, nz([男])+nz([女]) AS 数量
FROM (TRANSFORM Count(表1.性别) AS 性别之计数 SELECT 表1.性别 FROM 表1 GROUP BY 表1.性别 PIVOT 表1.性别;) as a2;

执行提示 Form子语法错误!

请高手指教。
作者: asklove    时间: 2010-3-9 10:38
查询3是你复制过来的吗?

GROUP BY 表1.性别 PIVOT 表1.性别;(这里的;号去掉试试)) as a2;
作者: andymark    时间: 2010-3-9 10:39
GROUP BY 表1.性别 PIVOT 表1.性别;) as a2;


怎么性别后面多个冒号
作者: 孤帆远影    时间: 2010-3-9 13:43
发帖的时候忘了删了;
SELECT a2.性别, nz([男])+nz([女]) AS 数量
FROM (TRANSFORM Count(表1.性别) AS 性别之计数 SELECT 表1.性别 FROM 表1 GROUP BY 表1.性别 PIVOT 表1.性别) as a2;
我试过很多种方法,只要把交叉表嵌入查询中,就报错。其他的查询嵌套都没问题。
作者: aslxt    时间: 2010-3-9 13:46
本帖最后由 aslxt 于 2010-3-9 13:48 编辑

好像在帮助中有关交叉表查询的说明,"TRANSFORM"之前不能有其他任何字符,就是说,"TRANSFORM"必须排在首位!
只能用中间查询来实现!
作者: 孤帆远影    时间: 2010-3-9 14:07
谢谢!看来只能想别的办法来实现了!
作者: asklove    时间: 2010-3-9 15:55
看你的例子,感觉用交叉表向导做,应该有一个列的合计数,不用你再用查询求合计吧
如果是ACCESS2007交叉表中还可以加一个行的汇总数




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3