现在有4张表,其记录如下: 表1:学生表 学生编号 测验方式区分 测验学科编号 测验区分 合格判定区分
------------------------------------------------------------------------------------------
00001 1 1 1 0
00002 1 1 0 0
00003 2 1 1 1
00004 2 2 1 1
00005 2 2 0 0
00006 3 3 1 1
00007 3 3 1 0
00008 1 4 1 1
00009 3 5 0 0
00010 3 4 1 1
------------------------------------------------------------------------------------------
字段说明:
学生编号(PK)
测验方式区分(外键,与测验方式表关联)
测验学科编号(外键,与学科表关联)
测验区分(0值表示缺席测验,1表示参加了测验)
合格判定区分(0值表示测验不合格,1表示测验合格) 表2:测验方式表 测验方式区分 测验方式
----------------------------------------------------------------------------
1 一般
2 年中考
3 年终考
4 升学考
----------------------------------------------------------------------------字段说明:
测验方式区分(PK)
表3:学科表 学科编号 学科名称 隶属学部
----------------------------------------------------------------------------
1 会计 1
2 英语 2
3 几何 3
4 物理 3
5 日语 2
6 法语 2
7 音乐 5
8 德育 5
----------------------------------------------------------------------------字段说明:
学科编号(PK)
隶属学部(外键,与学部表关联,表示该门学科所隶属的学部) 表4:学部表 学部编号 学部名称
----------------------------------------------------------------------------
1 经济部
2 外语部
3 数理部
4 外贸部
5 文艺部
----------------------------------------------------------------------------字段说明:
学部编号(PK)以上面表中的记录为准,统计学生表中在不同的测验方式下,不同的学部下的学生测验状况,要求查出如下形式:
说明:下面的学生数是指应该参加某门学科测验的学生数
实测数(实际参加测试的人数)=学生数-缺席测验人数
倍率=实际参加测试的人数/合格者人数测验方式 学部 学科 学生数 实测数 合格者数 倍率
-----------------------------------------------------------------------------------------
会计 2 1 0 1/0
经济部-------------------------------------------------------------------------
小计 2 1 0 1/0
---------------------------------------------------------------------------------
物理 1 1 1 1/1
一般 数理部-------------------------------------------------------------------------
小计 1 1 1 1/1
---------------------------------------------------------------------------------
合计 3 2 1 2/1
-----------------------------------------------------------------------------------------
会计 1 1 1 1/1
经济部-------------------------------------------------------------------------
小计 1 1 1 1/1
年中考 ----------------------------------------------------------------------------------
英语 2 1 1 1/1
外语部 ------------------------------------------------------------------------
小计 2 1 1 1/1
---------------------------------------------------------------------------------
合计 3 2 2 2/2
-----------------------------------------------------------------------------------------
几何 2 2 1 2/1
-----------------------------------------------------------------------
物理 1 1 1 1/1
数理部 -----------------------------------------------------------------------
小计 3 3 2 3/2
年终考 ---------------------------------------------------------------------------------
日语 1 0 0 0/0
外语部 ------------------------------------------------------------------------
小计 1 0 0 0/0
---------------------------------------------------------------------------------
合计 4 3 2 3/2
-----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
00001 1 1 1 0
00002 1 1 0 0
00003 2 1 1 1
00004 2 2 1 1
00005 2 2 0 0
00006 3 3 1 1
00007 3 3 1 0
00008 1 4 1 1
00009 3 5 0 0
00010 3 4 1 1
------------------------------------------------------------------------------------------
字段说明:
学生编号(PK)
测验方式区分(外键,与测验方式表关联)
测验学科编号(外键,与学科表关联)
测验区分(0值表示缺席测验,1表示参加了测验)
合格判定区分(0值表示测验不合格,1表示测验合格) 表2:测验方式表 测验方式区分 测验方式
----------------------------------------------------------------------------
1 一般
2 年中考
3 年终考
4 升学考
----------------------------------------------------------------------------字段说明:
测验方式区分(PK)
表3:学科表 学科编号 学科名称 隶属学部
----------------------------------------------------------------------------
1 会计 1
2 英语 2
3 几何 3
4 物理 3
5 日语 2
6 法语 2
7 音乐 5
8 德育 5
----------------------------------------------------------------------------字段说明:
学科编号(PK)
隶属学部(外键,与学部表关联,表示该门学科所隶属的学部) 表4:学部表 学部编号 学部名称
----------------------------------------------------------------------------
1 经济部
2 外语部
3 数理部
4 外贸部
5 文艺部
----------------------------------------------------------------------------字段说明:
学部编号(PK)以上面表中的记录为准,统计学生表中在不同的测验方式下,不同的学部下的学生测验状况,要求查出如下形式:
说明:下面的学生数是指应该参加某门学科测验的学生数
实测数(实际参加测试的人数)=学生数-缺席测验人数
倍率=实际参加测试的人数/合格者人数测验方式 学部 学科 学生数 实测数 合格者数 倍率
-----------------------------------------------------------------------------------------
会计 2 1 0 1/0
经济部-------------------------------------------------------------------------
小计 2 1 0 1/0
---------------------------------------------------------------------------------
物理 1 1 1 1/1
一般 数理部-------------------------------------------------------------------------
小计 1 1 1 1/1
---------------------------------------------------------------------------------
合计 3 2 1 2/1
-----------------------------------------------------------------------------------------
会计 1 1 1 1/1
经济部-------------------------------------------------------------------------
小计 1 1 1 1/1
年中考 ----------------------------------------------------------------------------------
英语 2 1 1 1/1
外语部 ------------------------------------------------------------------------
小计 2 1 1 1/1
---------------------------------------------------------------------------------
合计 3 2 2 2/2
-----------------------------------------------------------------------------------------
几何 2 2 1 2/1
-----------------------------------------------------------------------
物理 1 1 1 1/1
数理部 -----------------------------------------------------------------------
小计 3 3 2 3/2
年终考 ---------------------------------------------------------------------------------
日语 1 0 0 0/0
外语部 ------------------------------------------------------------------------
小计 1 0 0 0/0
---------------------------------------------------------------------------------
合计 4 3 2 3/2
-----------------------------------------------------------------------------------------
------------------------------------------------------------------------
一般 经济部 会计 2 1 0 1/0
------------------------------------------------------------------------
一般 经济部 小计 2 1 0 1/0
------------------------------------------------------------------------
一般 数理部 物理 1 1 1 1/1
------------------------------------------------------------------------
一般 数理部 小计 1 1 1 1/1
-----------------------------------------------------------------------
一般 合计 Null 3 2 1 2/1
-----------------------------------------------------------------------
2.我觉得你需要的样式可以通过定义DataGrid的单元格来实现,这个网上例子很多。
insert into @t1 select '00001',1,1,1,0
insert into @t1 select '00002',1,1,0,0
insert into @t1 select '00003',2,1,1,1
insert into @t1 select '00004',2,2,1,1
insert into @t1 select '00005',2,2,0,0
insert into @t1 select '00006',3,3,1,1
insert into @t1 select '00007',3,3,1,0
insert into @t1 select '00008',1,4,1,1
insert into @t1 select '00009',3,5,0,0
insert into @t1 select '00010',3,4,1,1declare @t2 table(测验方式区分 int,测验方式 varchar(10))
insert into @t2 select 1,'一般'
insert into @t2 select 2,'年中考'
insert into @t2 select 3,'年终考'
insert into @t2 select 4,'升学考'declare @t3 table(学科编号 int,学科名称 varchar(6),隶属学部 int)
insert into @t3 select 1,'会计',1
insert into @t3 select 2,'英语',2
insert into @t3 select 3,'几何',3
insert into @t3 select 4,'物理',3
insert into @t3 select 5,'日语',2
insert into @t3 select 6,'法语',2
insert into @t3 select 7,'音乐',5
insert into @t3 select 8,'德育',5declare @t4 table(学部编号 int,学部名称 varchar(8))
insert into @t4 select 1,'经济部'
insert into @t4 select 2,'外语部'
insert into @t4 select 3,'数理部'
insert into @t4 select 4,'外贸部'
insert into @t4 select 5,'文艺部'select
b.测验方式,
d.学部名称,
case when d.学部名称 is null then '合计' else isnull(c.学科名称,'小计') end as 学科名称,
学生数=count(a.测验区分),
实测数=sum(a.测验区分),
合格者数=sum(a.合格判定区分),
倍率=rtrim(sum(a.测验区分))+'/'+rtrim(sum(a.合格判定区分))
from
@t1 a,@t2 b,@t3 c,@t4 d
where
a.测验方式区分=b.测验方式区分
and
a.测验学科编号=c.学科编号
and
c.隶属学部=d.学部编号
group by
b.测验方式区分,b.测验方式,d.学部名称,c.学科名称 with rollup
having grouping(测验方式)=0
order by
b.测验方式区分/*
测验方式 学部名称 学科名称 学生数 实测数 合格者数 倍率
---------- -------- ------ ----------- ----------- ----------- -------------------------
一般 经济部 会计 2 1 0 1/0
一般 经济部 小计 2 1 0 1/0
一般 数理部 物理 1 1 1 1/1
一般 数理部 小计 1 1 1 1/1
一般 NULL 合计 3 2 1 2/1
年中考 经济部 会计 1 1 1 1/1
年中考 经济部 小计 1 1 1 1/1
年中考 外语部 英语 2 1 1 1/1
年中考 外语部 小计 2 1 1 1/1
年中考 NULL 合计 3 2 2 2/2
年终考 数理部 几何 2 2 1 2/1
年终考 数理部 物理 1 1 1 1/1
年终考 数理部 小计 3 3 2 3/2
年终考 外语部 日语 1 0 0 0/0
年终考 外语部 小计 1 0 0 0/0
年终考 NULL 合计 4 3 2 3/2
*/