多条件复合分组统计报表-->>请进
各位高手们,小生最近在做一个人事管理系统,采用的是FASTREPORT3.10报表工具。其中一个统计表如下表所示。所有数据字段出自同一张表中。每一个单元格中都需要统计其相应的人数,其中 局级 处级 科级 副局级 属于同一字段,研究生 本科生 专科 属于同一字段。每个单元格内只需要统计的人数。
女 党员 本科 硕士 专科 总计
局级
处级
科级
副局级 我现在能想到的办法就只有利用变量传递查询值。但觉得这么做每一个单元格都是一个多条件的查询。这样做下来实在是没有什么实际操作的意义。希望各位大大们在看到之后给我一点可行性的意见。先在这里谢谢你们了。
各位高手们,小生最近在做一个人事管理系统,采用的是FASTREPORT3.10报表工具。其中一个统计表如下表所示。所有数据字段出自同一张表中。每一个单元格中都需要统计其相应的人数,其中 局级 处级 科级 副局级 属于同一字段,研究生 本科生 专科 属于同一字段。每个单元格内只需要统计的人数。
女 党员 本科 硕士 专科 总计
局级
处级
科级
副局级 我现在能想到的办法就只有利用变量传递查询值。但觉得这么做每一个单元格都是一个多条件的查询。这样做下来实在是没有什么实际操作的意义。希望各位大大们在看到之后给我一点可行性的意见。先在这里谢谢你们了。
解决方案 »
- 急,在线等:如何将取得的Oracle数据库中的最后一条记录赋给变量?
- ★为什么我的rave报表文件往硬盘保存的时候提示:Drive c:does not exist.Please verify the correct drive was given.不能保存文件。
- How to add the propery MaskEdit.Editmast to TEdit?(I'm using Traditional Chinese)
- 救命啊 bmp 旋轉
- 问一个丢脸的问题!
- 请教这个动态创建的文本事件又如何写,
- Please help me!
- 急救!!!!分数不够我可以加,上限500!
- 救命的问题,dll中有一个函数abc@8,delphi没有办法调用,因为@的缘故,怎办?
- 请问如何控制RichEdit中的行间距和字间距?
- 紧急求救!没有dbchart控件!!马上给分!!!
- 高手请留步,一定要帮小弟一把,满分相送,关于xml文件解析的问题,万分感激!!!
(
select '001' as 编号,'张三' as 姓名,'女' as 性别,'党员' as 政治面貌,'本科' as 文化程度,'局级' as 待遇级别
union
select '002' as 编号,'李四' as 姓名,'女' as 性别,'党员' as 政治面貌,'本科' as 文化程度,'局级' as 待遇级别
union
select '003' as 编号,'王五' as 姓名,'女' as 性别,'党员' as 政治面貌,'本科' as 文化程度,'处级' as 待遇级别
union
select '004' as 编号,'线六' as 姓名,'女' as 性别,'党员' as 政治面貌,'本科' as 文化程度,'副局级' as 待遇级别 )
xselect * from employee1select x.待遇级别, (select count(*) from employee1 where 待遇级别=x.待遇级别 and 性别='女') as 女,
(select count(*) from employee1 where 待遇级别=x.待遇级别 and 政治面貌='党员') as 党员,
(select count(*) from employee1 where 待遇级别=x.待遇级别 and 文化程度='本科') as 本科,
(select count(*) from employee1 where 待遇级别=x.待遇级别 and 文化程度='硕士') as 硕士,
(select count(*) from employee1 where 待遇级别=x.待遇级别 and 文化程度='专科') as 专科,
(select count(*) from employee1 where 待遇级别=x.待遇级别 ) as 合计
from
(select distinct 待遇级别 from employee1) x
--运行结果
处级 1 1 1 0 0 1
副局级1 1 1 0 0 1
局级 2 2 2 0 0 2
select x.待遇级别, (select count(*) from employee where 待遇级别=x.待遇级别 and 性别='女') as 女,
(select count(*) from employee where 待遇级别=x.待遇级别 and 政治面貌='党员') as 党员,
(select count(*) from employee where 待遇级别=x.待遇级别 and 文化程度='本科') as 本科,
(select count(*) from employee where 待遇级别=x.待遇级别 and 文化程度='硕士') as 硕士,
(select count(*) from employee where 待遇级别=x.待遇级别 and 文化程度='专科') as 专科,
(select count(*) from employee where 待遇级别=x.待遇级别 ) as 合计
from
(select distinct 待遇级别 from employee) x