|
本帖最后由 天空的雨 于 2014-6-1 16:17 编辑
答:
select 单位名称,服务人员,分类,sum(贷方余额) as 货方余额,sum(较上日) as 较上日,sum(较上月) as 较上月,sum(较去年) as 较去年
from(select a.单位名称,服务人员,分类,h.贷方余额,((0 & h.贷方余额)-(0 & b.贷方余额)) as 较上日,((0 & h.贷方余额)-(0 & c.贷方余额)) as 较上月,((0 & h.贷方余额)-(0 & d.贷方余额)) as 较去年
from (((((
(select DISTINCT 单位名称,编号,网号,项目号,账号 from[库$])a
left join (select 单位名称,账号,编号,网号,贷方余额 from[库$]where 日期=#2014-4-25#)h
on a.单位名称= h.单位名称 and a.账号 = h.账号 and a.编号= h.编号 and a.网号= h.网号)
left join (select 单位名称,账号,编号,网号,贷方余额 from[库$]where 日期=#2014-4-24#)b
on a.单位名称= b.单位名称 and a.账号 =b.账号 and a.账号 = b.账号 and a.编号= b.编号 and a.网号= b.网号)
left join (select 单位名称,账号,网号,编号,贷方余额 from[库$]where 日期=#2014-3-31#)c
on a.单位名称= c.单位名称 and a.账号 =c.账号 and a.网号 = c.网号 and a.编号= c.编号)
left join (select 单位名称,账号,网号,编号,贷方余额 from[库$]where 日期=#2013-12-31#)d
on a.单位名称= d.单位名称 and a.账号 =d.账号 and a.编号= d.编号 and a.网号= d.网号)
left join (select 单位名称,服务人员 from[表1$])f
on a.单位名称=f.单位名称)
left join (select 项目号,分类 from[表2$])g
on a.项目号= g.项目号)
where (贷方余额<>0) or (较上日<>0) or (较上月<>0) or (较去年<>0)
group by 单位名称,服务人员,分类
思路:通过去重得到表a与各所需日期的分表左连接,然后分组求和。这里有用到0连接空字符,否则会有的不计算。
|
|