请教一个统计报表的sql语句??谢谢大家帮助!
create table 部门表
(
部门编号 varchar(4),
部门名称 varchar(20),
部门类别 varchar(20)
)
insert into 部门表 select '01 ', 'a营业部 ',null
insert into 部门表 select '0101 ', 'a1营业厅 ', '自有厅 '
insert into 部门表 select '0102 ', 'a2营业厅 ', '自有厅 '
insert into 部门表 select '0103 ', 'b1营业厅 ', '合作厅 '
insert into 部门表 select '0104 ', 'b2营业厅 ', '合作厅 '
insert into 部门表 select '0104 ', 'b3营业厅 ', '合作厅 '
--------------------------------
create table 收费表
(
项目名称 varchar(20),
当日营业款 decimal(13,2),
日期 datetime,
所属部门 varchar(20)
)
insert into 收费表 select '合作厅营业款 ',10000, '2007-1-1 ', 'b1营业厅 '
insert into 收费表 select '合作厅营业款 ',20000, '2007-1-1 ', 'b2营业厅 '
insert into 收费表 select '合作厅营业款 ',15000, '2007-1-2 ', 'b1营业厅 '
insert into 收费表 select '合作厅营业款 ',30000, '2007-1-2 ', 'b2营业厅 '
----------------------------------
create table 押金表
(
合作厅名称 varchar(20),
押金金额 decimal(13,2),
交款日期 datetime,
补交押金金额 decimal(13,2),
退还押金金额 decimal(13,2)
)
insert into 押金表 select 'b1营业厅 ',1000, '2007-1-1 ',500,300
insert into 押金表 select 'b2营业厅 ',2000, '2007-1-1 ',1000,600
insert into 押金表 select 'b1营业厅 ',3000, '2007-1-2 ',1500,400
insert into 押金表 select 'b2营业厅 ',4000, '2007-1-2 ',2000,800
--------------------------------------
/*
要生成的报表格式为:(按照收费表的日期区间范围进行统计,例如统计2007-1-1到2007-1-2这2天的数据)
合作厅名称 押金余额 总收费额 日平均收费额 差额
b1营业厅 5300 25000 12500 7200
b2营业厅 7600 50000 25000 17400
b3营业厅 0 0 0 0
*/
drop table 部门表
drop table 收费表
drop table 押金表
/*
报表数据说明:
合作厅名称:指部门表中所有类别为“合作厅”的营业厅
押金余额=指押金表中的“押金金额+补交押金金额-退还押金金额”注意:这里的押金余额是累加的,即2007-1-2的余额=2007-1-1的余额+2007-1-2的余额
总收费额=收费表中2007-1-1到2007-1-2时间段内,每个合作厅当日营业款的总和
日平均收费额=总收费额/2007-1-1到2007-1-2之间的天数(按照收费表的日期范围进行统计)
差额=日平均收费额-押金余额
------------------------
如果对应部门表里的合作厅没有费用产生,请将报表中各种费用设置为0.00