Office中国论坛/Access中国论坛

标题: 查询2中如何求和!!谢谢 [打印本页]

作者: hdbsc    时间: 2009-8-1 16:26
标题: 查询2中如何求和!!谢谢
查询2中如何求和
作者: hdbsc    时间: 2009-8-1 21:55
没人帮忙!!!惨惨
作者: Henry D. Sy    时间: 2009-8-2 09:25
描述不清
作者: hdbsc    时间: 2009-8-2 21:33
在查询2中各班横向合计,纵向合计
         1班 2班 3班 合计
500-600  *   *    *     #
450-500 *   *    *     #
合计      ?  ?   ?
作者: hdbsc    时间: 2009-8-2 21:35
谢谢!!
作者: aslxt    时间: 2009-8-3 13:27
看看是否符合要求,‘结果’查询
作者: asklove    时间: 2009-8-3 14:46
学习一下
请教:aslxt
在交叉表查询中能否用Union?如果好用怎么写啊
如这个例子中按查询1得到交叉表查询SQL,能否修改一下?

TRANSFORM Count(查询1.总分) AS 总分之计数
SELECT 查询1.分数段显示, Count(查询1.总分) AS 总计总分
FROM 查询1
GROUP BY 查询1.分数段显示
PIVOT 查询1.班别;
作者: aslxt    时间: 2009-8-3 15:10
没看明白你的意思
作者: aslxt    时间: 2009-8-3 15:16
是不是把你的“TRANSFORM Count(查询1.总分) AS 总分之计数
SELECT 查询1.分数段显示, Count(查询1.总分) AS 总计总分
FROM 查询1
GROUP BY 查询1.分数段显示
PIVOT 查询1.班别”作为一个子查询,然后union另一个查询?
作者: asklove    时间: 2009-8-3 15:44
就是基于查询1,用一个查询做出最终结果来
交叉表只有行的合计数,没有列的合计数
百度一下,有是有交叉表列合计的例子,但菜鸟看不懂啊
作者: hdbsc    时间: 2009-8-3 15:52
要分这么多步的?也好学习学习
作者: aslxt    时间: 2009-8-3 15:57
那样的话,可以做出一个列合计的子查询、一个行合计的子查询,一个交叉表子查询,然后联合。应该可以,手头有点事情,忙完后再研究研究
作者: hdbsc    时间: 2009-8-3 17:04
谢谢!!!
作者: aslxt    时间: 2009-8-3 17:08
试一试:
TRANSFORM Sum(总分之计数) AS 总分之计数之总计
SELECT 分数段显示
FROM (SELECT 查询1.班别, 查询1.分数段显示, Count(查询1.总分) AS 总分之计数
FROM 查询1
GROUP BY 查询1.班别, 查询1.分数段显示
UNION SELECT '合计' AS 合计, 查询1.分数段显示, Count(查询1.总分) AS 总分之计数
FROM 查询1
GROUP BY '合计', 查询1.分数段显示
UNION SELECT 查询1.班别, "合计" as jj, Count(查询1.总分) AS 总分之计数
FROM 查询1
GROUP BY 查询1.班别, "合计")
GROUP BY 分数段显示
PIVOT 班别;
作者: aslxt    时间: 2009-8-3 17:09
可惜两个合计的交叉点没有数据
作者: hdbsc    时间: 2009-8-4 22:06
可以拉,谢谢 学习学习
作者: hdbsc    时间: 2009-8-4 22:13
TRANSFORM Sum([%$##@_Alias].总分之计数) AS 总分之计数之总计
SELECT [%$##@_Alias].分数段显示
FROM [SELECT 查询1.班别, 查询1.分数段显示, Count(查询1.总分) AS 总分之计数
FROM 查询1
GROUP BY 查询1.班别, 查询1.分数段显示
UNION SELECT '合计' AS 合计, 查询1.分数段显示, Count(查询1.总分) AS 总分之计数
FROM 查询1
GROUP BY '合计', 查询1.分数段显示
UNION SELECT 查询1.班别, "合计" as jj, Count(查询1.总分) AS 总分之计数
FROM 查询1
GROUP BY 查询1.班别, "合计"]. AS [%$##@_Alias]
GROUP BY [%$##@_Alias].分数段显示
PIVOT [%$##@_Alias].班别;
作者: hdbsc    时间: 2009-8-4 22:14
为何会变成上面的??
作者: hdbsc    时间: 2009-8-4 22:14
[%$##@_Alias].  什么来的
作者: asklove    时间: 2009-8-5 10:06
非常感谢aslxt
受你的启发,这样做后两个合计的交叉点也有合计了
([%$##@_Alias]没什么关系,不用管它)

TRANSFORM Sum(查询1.班别之计数) AS 总计
SELECT 查询1.分数段显示, Sum(查询1.班别之计数) AS 总合计
FROM [SELECT 查询1.班别, 查询1.分数段显示, Count(查询1.班别) AS 班别之计数
FROM 查询1
GROUP BY 查询1.班别, 查询1.分数段显示
UNION SELECT 查询1.班别,'合计' ,count(查询1.班别) as 计数
from 查询1
GROUP BY 查询1.班别]. AS 查询1
GROUP BY 查询1.分数段显示
PIVOT 查询1.班别;
作者: hdbsc    时间: 2009-8-6 20:19
太伟了
作者: hdbsc    时间: 2009-8-6 20:19
太伟大了!!!!!!!!!
作者: hdbsc    时间: 2009-8-6 21:01
还想问一下高手们,如果上面表550至600的数据为空,我又要在查询2中显示全部分数段,要怎么做呢/???




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