CREATE PROCEDURE mytable AS
declare @bm varchar(16),
@nr varchar(6),
@nv varchar(6),
@tmp1 varchar(8000)
create table #temp(bm varchar(16),sex varchar(2),data varchar(10))
insert into #temp(bm,sex,data)
select 所在部门,性别, count(性别) as 人数
from test
group by 所在部门,性别
create table #temp1(bm1 varchar(16), nr1 varchar(6),nv1 varchar(6) )
insert into #temp1(bm1,nr1,nv1)
select bm,data,0 from #temp where sex='男'
insert into #temp1(bm1,nr1,nv1)
select bm,0,data from #temp where sex='女'
create table #temp2(部门名称 varchar(16),男 varchar(6), 女 varchar(6) )
insert into #temp2(部门名称,男,女)
select bm,data,0 from #temp where sex='男'
declare cur_yb cursor for
select bm1,nr1,nv1 from #temp1
open cur_yb
fetch next from cur_yb into @bm,@nr,@nv
while @@fetch_status=0
begin
set @tmp1=null
select @tmp1=女 from #temp2 where 部门名称=@bm
if @tmp1=null
begin
insert into #temp2(部门名称,男,女)
select bm1,nr1,nv1 from #temp1 where bm1=@bm
end
else
begin
update #temp2 set 女=@nv where 部门名称=@bm
end
fetch next from cur_yb into @bm,@nr,@nv
end
close cur_yb
select * from #temp2
group by 部门名称,男,女
GO
--------------------------
我研究出来了!
只是可以实现!大家帮我看看不足之处
请雅正………………谢谢合作