设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1174|回复: 9
打印 上一主题 下一主题

[查询] [求助]一个查询

[复制链接]
跳转到指定楼层
1#
发表于 2004-5-4 23:40:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
已做好一统计查询:
部门      人数小计      男计数      女计数      20以下      20-40岁      40岁以上
技术         3                 1             2             1               2               
生产         3                 2             1             1               2               
行政         8                 4             4             1               4                 3
质检         3                 3                                                               3

想在查询中实现在记录的最后一行加上合计得到如下结果:

合计         17               10            7             3               8                 6

请教这个查询如何做!谢谢!               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2004-5-4 23:49:00 | 只看该作者
重写一下:
部门   人数小计   男计数   女计数   20岁以下   20-40   40岁以上
技术   3             1           2          1              2          0
生产   3             2           1          1              2          0
行政   8             4           4          1              4          3
质检   3             3           0          0              0          3
想查询中实现最后一行有部门以外各字段值的合计即:
合计   17           10         7          3               8          6

点击这里给我发消息

3#
发表于 2004-5-5 00:35:00 | 只看该作者
把你的查询的SQL语句贴出来
4#
 楼主| 发表于 2004-5-5 01:15:00 | 只看该作者

[求助]

朱总您好,我这统计查询是用5个分查询得来,现我想在这个统计查询记录的最后能体现出各字段的合计,我不会做。我还是把库传上来吧!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
5#
 楼主| 发表于 2004-5-5 01:19:00 | 只看该作者
即在统计查询记录的结果最后能有一个合计项纵向体现除部门外其它字段的合计数,我见其它高手做过,可我就是试不出来。谢谢!

点击这里给我发消息

6#
发表于 2004-5-5 01:56:00 | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7#
 楼主| 发表于 2004-5-5 02:51:00 | 只看该作者
谢谢朱总!我明白了。
8#
 楼主| 发表于 2004-5-5 03:26:00 | 只看该作者
顺便问请教朱总:统计查询的结果能否根据表1用一个查询做出(我用了6个)。谢谢!

点击这里给我发消息

9#
发表于 2004-5-5 05:40:00 | 只看该作者
用了3个查询,一个自定义函数

表1_交叉1:
TRANSFORM Count(表1.ID) AS ID之计数
SELECT 表1.部门, Count(表1.ID) AS 人数小计
FROM 表1
GROUP BY 表1.部门
PIVOT 表1.姓别;

表1_交叉2:
TRANSFORM Count(表1.ID) AS ID之计数
SELECT 表1.部门
FROM 表1
GROUP BY 表1.部门
PIVOT AgeClass(年龄);

表1_统计:
SELECT 表1_交叉1.部门, 表1_交叉1.人数小计, 表1_交叉1.男, 表1_交叉1.女, 表1_交叉2.[20岁以下], 表1_交叉2.[20-30岁], 表1_交叉2.[30-40岁], 表1_交叉2.[40岁以上]
FROM 表1_交叉1 INNER JOIN 表1_交叉2 ON 表1_交叉1.部门 = 表1_交叉2.部门
UNION SELECT "合计", SUM(表1_交叉1.人数小计), SUM(表1_交叉1.男), SUM(表1_交叉1.女), SUM(表1_交叉2.[20岁以下]), SUM(表1_交叉2.[20-30岁]), SUM(表1_交叉2.[30-40岁]), SUM(表1_交叉2.[40岁以上])
FROM 表1_交叉1 INNER JOIN 表1_交叉2 ON 表1_交叉1.部门 = 表1_交叉2.部门;

AgeClass:
Public Function AgeClass(ByVal n As Integer) As String
    If n <= 20 Then
        AgeClass = "20岁以下"
    ElseIf n <= 30 Then
        AgeClass = "20-30岁"
    ElseIf n <= 40 Then
        AgeClass = "30-40岁"
    Else
        AgeClass = "40岁以上"
    End If
End Function

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
10#
 楼主| 发表于 2004-5-5 06:14:00 | 只看该作者
由衷感谢!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-22 00:56 , Processed in 0.110296 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表