纠结了我几天的报表存储过程
我有3张表
create table OneceShop(
OID int identity(1,1) primary key not null,
Cid varchar(10) null, --商家编号
Clayer varchar(10) null, --商家级别
DistrictCode varchar(12) null, --区域编码
DistrictName varchar(70) null, --区域名称
CreateDate datetime null, --创建时间
UpdataDate datetime null, --更新时间
CreateMan nvarchar(64) null, --创建人
EditMan nvarchar(64) null, --修改人
tuopoFlag varchar(1) null,
TOPFlag varchar(1) null
)
go
--标注主题信息表一次店销售信息表
create table OneceShopSell(
SubjectID varchar(20) primary key not null, --主题标号
SubjectName nvarchar(64) null, --主题描述
MotorID varchar(10) null, --车型编号
MotorSerial varchar(12) null,
Category varchar(12) null,
VersionCatory varchar(12) null,
MotorBrand varchar(12) null, --车辆品牌
CreateDate datetime null, --创建时间
UpdataDate datetime null, --更新时间
CreateMan nvarchar(64) null, --创建人
EditMan nvarchar(64) null --修改人
)
go
--标注主题信息表一次店销售信息表
create table OneceShopSellDetail(
WaterID int identity(1,1) primary key not null, --流水号
SubjectID varchar(20) null, --主题编号
Qty int null, --零售
BillQty int null, --进货
EndQty int null, --库存
Cid varchar(10) null, --商家编号
CreateDate datetime null, --创建时间
UpdataDate datetime null, --更新时间
CreateMan nvarchar(64) null, --创建人
EditMan nvarchar(64) null, --修改人
Startdate datetime null, --开始旬日期
Enddate datetime null --结束旬日期
)
go
1000013省代440000000000广东省2012-9-20 13:46:49NULLNULLNULLNULL
2000015省代450000000000广西2012-9-20 13:46:49NULLNULLNULLNULL
3000014省代520000000000贵州省2012-9-20 13:46:49NULLNULLNULLNULL
4000012省代130000000000河北省2012-9-20 13:46:49NULLNULLNULLNULL
5000009省代410000000000河南省2012-9-20 13:46:49NULLNULLNULLNULL
6000010省代230000000000黑龙江省2012-9-20 13:46:49NULLNULLNULLNULL
7000011省代430000000000湖南省2012-9-20 13:46:49NULLNULLNULLNULL
8000008省代650000000000新疆2012-9-20 13:46:49NULLNULLNULLNULL
1NULLNULLNULLNULLNULL新大洲NULLNULLNULLNULL
2NULLNULLNULLNULLNULL豪爵NULLNULLNULLNULL
3NULLNULLNULLNULLNULL本五NULLNULLNULLNULL
4NULLNULLNULLNULLNULL雅马哈NULLNULLNULLNULL
5NULLNULLNULLNULLNULL轻骑铃木NULLNULLNULLNULL
74810296669000015NULLNULLNULLNULL2011-11-1 0:00:002011-11-10 23:59:59
74910233609000015NULLNULLNULLNULL2011-11-11 0:00:002011-11-20 23:59:59
75010766678000015NULLNULLNULLNULL2011-12-1 0:00:002011-12-10 23:59:59
751102246455000015NULLNULLNULLNULL2011-12-21 0:00:002011-12-31 23:59:59
752232456111000008NULLNULLNULLNULLNULLNULL
75323456213000008NULLNULLNULLNULLNULLNULL
754232355324000013NULLNULLNULLNULLNULLNULL
75523424223767000011NULLNULLNULLNULLNULLNULL
756345556777000008NULLNULLNULLNULLNULLNULL
75734445556666000015NULLNULLNULLNULLNULLNULL
7583443435665677000009NULLNULLNULLNULLNULLNULL
75923443566566000013NULLNULLNULLNULLNULLNULL
76045611233000008NULLNULLNULLNULLNULLNULL
7614231189000009NULLNULLNULLNULLNULLNULL
762412322244000011NULLNULLNULLNULLNULLNULL
7634324566555000010NULLNULLNULLNULLNULLNULL
7643455546456000012NULLNULLNULLNULLNULLNULL
765243545566566000010NULLNULLNULLNULLNULLNULL
7665445555000008NULLNULLNULLNULLNULLNULL
767588980912000009NULLNULLNULLNULLNULLNULL
7685121234000010NULLNULLNULLNULLNULLNULL
769534475333000011NULLNULLNULLNULLNULLNULL
77054556644000012NULLNULLNULLNULLNULLNULL

create proc test
@districtcode varchar(12)
as
begin
create table #tmp(districtname varchar(70),cid varchar(20),clayer varchar(12),qty int,billqty int,endqty int,subjectid varchar(20))
insert into #tmp select a.districtname,a.cid,a.clayer,b.qty,b.billqty,b.endqty,b.subjectid
from dbo.OneceShop a,dbo.OneceShopSellDetail b where a.cid=b.cid and
a.districtcode=@districtcode
insert into A select a.districtname,a.cid,a.clayer,a.qty,a.billqty,a.endqty,a.subjectid,c.motorbrand from
#tmp a,dbo.OneceShopSell c where a.subjectid=c.subjectid
insert into b select districtname,count(*) cid,clayer,sum(qty) as 进货,sum(billqty) as 零售,sum(endqty) as 库存,motorbrand as 品牌 from A group by motorbrand,cid,districtname,clayer
end
exec test '650000000000'
--结果集
新疆1省代45556777本五
新疆2省代358112324豪爵
新疆1省代445555轻骑铃木
新疆104省代046765428906新大洲
新疆1省代5611233雅马哈