create table t_bb_je
(
xm varchar(50),--项目名称
dr numeric(13,2),--当日金额
rq datetime --日期
)
insert into t_bb_je select '增加信誉值金额合计',200,'2008-3-1'
insert into t_bb_je select '增加信誉值金额合计',300,'2008-3-2'
create table t_rb_total
(
xm varchar(50),--项目名称
dr numeric(13,2),--当日金额
rq datetime --日期
)
insert into t_rb_total select '(已上)合作厅及代理商应收',100,'2008-3-1'
insert into t_rb_total select '(已上)合作厅及代理商应收',200,'2008-3-2'
--要得出以下结果
/*
往日合作厅余额合计 往日合作厅余额合计(累计) 当日合作厅余额合计 当日合作厅余额合计(累计) 日期
0 0 100 100 2008-3-1
100 100 200 300 2008-3-2注:往日合作厅余额合计=前一日的当日合作厅余额合计
当日合作厅余额合计=往日合作厅余额合计 + 增加信誉值金额合计 - (已上)合作厅及代理商应收
如果是第一天,没有产生往日余额,则往日余额为0
累计数为把前一天的余额与今天的金额进行累加
要能够按照日期和项目名称进行查询
*/
drop table t_bb_je
drop table t_rb_total
(
xm varchar(50),--项目名称
dr numeric(13,2),--当日金额
rq datetime --日期
)
insert into t_bb_je select '增加信誉值金额合计',200,'2008-3-1'
insert into t_bb_je select '增加信誉值金额合计',300,'2008-3-2'
create table t_rb_total
(
xm varchar(50),--项目名称
dr numeric(13,2),--当日金额
rq datetime --日期
)
insert into t_rb_total select '(已上)合作厅及代理商应收',100,'2008-3-1'
insert into t_rb_total select '(已上)合作厅及代理商应收',200,'2008-3-2'
--要得出以下结果
/*
往日合作厅余额合计 往日合作厅余额合计(累计) 当日合作厅余额合计 当日合作厅余额合计(累计) 日期
0 0 100 100 2008-3-1
100 100 200 300 2008-3-2注:往日合作厅余额合计=前一日的当日合作厅余额合计
当日合作厅余额合计=往日合作厅余额合计 + 增加信誉值金额合计 - (已上)合作厅及代理商应收
如果是第一天,没有产生往日余额,则往日余额为0
累计数为把前一天的余额与今天的金额进行累加
要能够按照日期和项目名称进行查询
*/
drop table t_bb_je
drop table t_rb_total
[往日合作厅余额合计]=t1.drSum-t2.drSum,
[往日合作厅余额合计]=t2.drSum,
[当日合作厅余额合计]=t1.drSum+t1.dr-t2.drSum-t2.dr,
[当日合作厅余额合计]=t2.drSum+t2.dr
from
(select *,isnull((select sum(dr) from t_bb_je where xm=a.xm and rq<a.rq),0)as drSum from t_bb_je a)t1
join
(select *,isnull((select sum(dr) from t_rb_total where xm=a.xm and rq<a.rq),0) as drSum from t_rb_total a)T2
on t1.rq=t2.rq
往日合作厅余额合计 往日合作厅余额合计 当日合作厅余额合计 当日合作厅余额合计
---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------------------------------
.00 .00 100.00 100.00
100.00 100.00 200.00 300.00(所影响的行数为 2 行)
[往日合作厅余额合计]=t1.drSum-t2.drSum,
[往日合作厅余额合计累计]=t1.drSum-t2.drSum,--这里改改
[当日合作厅余额合计]=t1.drSum+t1.dr-t2.drSum-t2.dr,
[当日合作厅余额合计累计]=t2.drSum+t2.dr
from
(select *,isnull((select sum(dr) from t_bb_je where xm=a.xm and rq<a.rq),0)as drSum from t_bb_je a)t1
join
(select *,isnull((select sum(dr) from t_rb_total where xm=a.xm and rq<a.rq),0) as drSum from t_rb_total a)T2
on t1.rq=t2.rq
以上语句括起来select * from (以上语句SQL)TT where ....