我这里有一个数据库
单位性质 申请单位 申请资金 申请项目
A 1 12341 GFGH
A 2 323 GHG
A 2 566 LLKKL
D 3 445 SFD
E 4 343 RER
E 4 545 FFG
A 5 76 GFH
C 6 656 DS我要生成报表如下
单位性质 申请单位数 申请项目数 申请总资金
A 2 3
B 0 0
C 1 1
D 1 1
E 1 2
请各位大虾多多指点
单位性质 申请单位 申请资金 申请项目
A 1 12341 GFGH
A 2 323 GHG
A 2 566 LLKKL
D 3 445 SFD
E 4 343 RER
E 4 545 FFG
A 5 76 GFH
C 6 656 DS我要生成报表如下
单位性质 申请单位数 申请项目数 申请总资金
A 2 3
B 0 0
C 1 1
D 1 1
E 1 2
请各位大虾多多指点
count(distinct 申请项目) as 申请项目数,
sum(申请资金) as 申请总资金
From Tabel1
select 单位性质,count(申请单位) as 申请单位数,
count(申请项目) as 申请项目数,
sum(申请资金) as 申请总资金
From Tabel1
Order by 单位性质
create procedure ProcName
as
select 单位性质,count(*) as 申请单位数
into #a
from TabelName
group by 单位性质select 单位性质,count(*) as 申请项目数
into #b
from TableNameselect distinct a.单位性质,a.申请单位数,b.申请项目数,sum(t.申请资金) as 申请资金总数
from #a a ,#b b,tablename as t
where a.单位性质=b.单位性质 and b.单位性质=t.单位性质
group by a.单位性质
go可能跟你要求的结果有些出入,但思路是这样的!!我做过类似的报表!
create procedure ProcName
as
select 单位性质,count(*) as 申请单位数
into #a
from TabelName
group by 单位性质select 单位性质,count(*) as 申请项目数
into #b
from TableName
group by 单位性质select distinct a.单位性质,a.申请单位数,b.申请项目数,sum(t.申请资金) as 申请资金总数
from #a a ,#b b,tablename as t
where a.单位性质=b.单位性质 and b.单位性质=t.单位性质
group by a.单位性质
go
用存储过程吧
create procedure ProcName
as
select 单位性质,
申请单位数=(Select count(distinct 申请单位) From TableName b where b.单位性质 = a. 单位性质 ),
申请项目数=(Select count(distinct 申请项目) From TableName b1 where b1.单位性质 = a. 单位性质 ),
申请总资金=(Select sum(申请资金) From TableName b2 where b2.单位性质 = a. 单位性质 )
from TabelName a
group by 单位性质
go