我的一个“交叉表”查询存储过程

CREATE PROCEDURE PATongjiXx
@datetimeS datetime,
@datetimeE datetime
 AS
declare @tbtiqu table(
 aid int identity(1,1),
 anbie varchar(40),
 xiaqu varchar(24),
 isxingshi bit )

declare @tbXiaqu table(
 xid int identity(1,1),
 xxiaqu varchar(24) )

declare @tbResult table(
 rid int identity(1,1),
 rxiaqu varchar(24),
 xingHeji int,
 sharen int,
 qiangjie int,
 daoqie int,
 daoqieJ int,
 qiangjian int,
 baozha int,
 toudu int,
 fandu int,
 xingQita int,
 zhian int,
 zaihai int,
  huojing int,
 shigu int,
 Jqita int,
 qiuzhu int,
 zixuan int,
 saorao int,
 Wqita int,
 zong int )

declare @a1 int
declare @a2 int
declare @a3 int
declare @a4 int
declare @a5 int
declare @a6 int
declare @a7 int
declare @a8 int
declare @a9 int
declare @a10 int
declare @a11 int
declare @a12 int
declare @a13 int
declare @a14 int
declare @a15 int
declare @a16 int
declare @a17 int
declare @a18 int
declare @a19 int
declare @a20 int

declare @b1 int
declare @b2 int
declare @b3 int
declare @b4 int
declare @b5 int
declare @b6 int
declare @b7 int
declare @b8 int
declare @b9 int
declare @b10 int
declare @b11 int
declare @b12 int
declare @b13 int
declare @b14 int
declare @b15 int
declare @b16 int
declare @b17 int
declare @b18 int
declare @b19 int
declare @b20 int

set @b1 =0
set @b2 =0
set @b3 =0
set @b4 =0
set @b5 =0
set @b6 =0
set @b7 =0
set @b8 =0
set @b9 =0
set @b10 =0
set @b11 =0
set @b12 =0
set @b13 =0
set @b14 =0
set @b15 =0
set @b16 =0
set @b17 =0
set @b18 =0
set @b19 =0
set @b20 =0

declare @xiaqu varchar(24)
declare @current int
declare @AllCount int
set @current=1

insert @tbtiqu (anbie,xiaqu,isxingshi) select anbie,xiaqu,isxingshi from tanjian where jiejingtime>@datetimeS and jiejingtime<@datetimeE

insert @tbXiaqu (xxiaqu) values ('蒲东所')
insert @tbXiaqu (xxiaqu) values ('蒲西所')
insert @tbXiaqu (xxiaqu) values ('位庄所')
insert @tbXiaqu (xxiaqu) values ('恼里所')
insert @tbXiaqu (xxiaqu) values ('总管所')
insert @tbXiaqu (xxiaqu) values ('芦岗所')
insert @tbXiaqu (xxiaqu) values ('孟岗所')
insert @tbXiaqu (xxiaqu) values ('苗占所')
insert @tbXiaqu (xxiaqu) values ('武邱所')
insert @tbXiaqu (xxiaqu) values ('赵堤所')
insert @tbXiaqu (xxiaqu) values ('佘家所')
insert @tbXiaqu (xxiaqu) values ('丁栾所')
insert @tbXiaqu (xxiaqu) values ('方里所')
insert @tbXiaqu (xxiaqu) values ('满村所')
insert @tbXiaqu (xxiaqu) values ('张三占所')
insert @tbXiaqu (xxiaqu) values ('凡相所')
insert @tbXiaqu (xxiaqu) values ('常村所')
insert @tbXiaqu (xxiaqu) values ('张占所')
set @AllCount =(select top 1 xid from @tbxiaqu order by xid desc)

while @current<=@AllCount
 begin
 set @xiaqu = (select xxiaqu from @tbXiaqu where xid=@current)
 
 select @a1= count(*) from @tbtiqu where isxingshi=1 and xiaqu=@xiaqu
 select @a2= count(*) from @tbtiqu where anbie in ('杀人','伤害致死') and xiaqu=@xiaqu
 select @a3= count(*) from @tbtiqu where anbie in ('抢劫','抢夺') and xiaqu=@xiaqu  
 select @a4= count(*) from @tbtiqu where anbie='盗窃' and xiaqu=@xiaqu
 select @a5= count(*) from @tbtiqu where anbie='盗窃机动车' and xiaqu=@xiaqu  
 select @a6= count(*) from @tbtiqu where anbie='强奸' and xiaqu=@xiaqu
 select @a7= count(*) from @tbtiqu where anbie='爆炸' and xiaqu=@xiaqu
 select @a8= count(*) from @tbtiqu where anbie='投毒' and xiaqu=@xiaqu
 select @a9= count(*) from @tbtiqu where anbie='贩毒' and xiaqu=@xiaqu
 select @a10=@a1+@a2+@a3+@a4+@a5+@a6+@a7+@a8+@a9

 select @a11= count(*) from @tbtiqu where anbie='治安案件' and xiaqu=@xiaqu
 select @a12= count(*) from @tbtiqu where anbie='治安灾害(事故)' and xiaqu=@xiaqu
 select @a13= count(*) from @tbtiqu where anbie='火警' and xiaqu=@xiaqu  
 select @a14= count(*) from @tbtiqu where anbie='交通事故' and xiaqu=@xiaqu
 select @a15= count(*) from @tbtiqu where anbie='其他警情类' and xiaqu=@xiaqu
 select @a16= count(*) from @tbtiqu where anbie='受理求助' and xiaqu=@xiaqu
 select @a17= count(*) from @tbtiqu where anbie='提供咨询' and xiaqu=@xiaqu
 select @a18= count(*) from @tbtiqu where anbie='骚扰' and xiaqu=@xiaqu
 select @a19= count(*) from @tbtiqu where anbie='其他无效报警' and xiaqu=@xiaqu
 select @a20= @a10+@a11+@a12+@a13+@a14+@a15+@a16+@a17+@a18+@a19

 insert @tbResult (rxiaqu,xingHeji,sharen,qiangjie,daoqie,daoqieJ,qiangjian,baozha,toudu,fandu,xingQita,zhian,zaihai,huojing,shigu,Jqita,qiuzhu,zixuan,saorao,Wqita,zong)
  values   (@xiaqu,@a1,@a2,@a3,@a4,@a5,@a6,@a7,@a8,@a9,@a10,@a11,@a12,@a13,@a14,@a15,@a16,@a17,@a18,@a19,@a20)
  
 set @b1=@b1+@a1
 set @b2=@b2+@a2
 set @b3=@b3+@a3
 set @b4=@b4+@a4
 set @b5=@b5+@a5
 set @b6=@b6+@a6
 set @b7=@b7+@a7
 set @b8=@b8+@a8
 set @b9=@b9+@a9
 set @b10=@b10+@a10
 set @b11=@b11+@a11
 set @b12=@b12+@a12
 set @b13=@b13+@a13
 set @b14=@b14+@a14
 set @b15=@b15+@a15
 set @b16=@b16+@a16
 set @b17=@b17+@a17
 set @b18=@b18+@a18
 set @b19=@b19+@a19
 set @b20=@b20+@a20

 set @current=@current+1
end
insert @tbResult (rxiaqu,xingHeji,sharen,qiangjie,daoqie,daoqieJ,qiangjian,baozha,toudu,fandu,xingQita,zhian,zaihai,huojing,shigu,Jqita,qiuzhu,zixuan,saorao,Wqita,zong)
  values   ('总计:',@b1,@b2,@b3,@b4,@b5,@b6,@b7,@b8,@b9,@b10,@b11,@b12,@b13,@b14,@b15,@b16,@b17,@b18,@b19,@b20)
select * from  @tbresult
GO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值