汇总统计问题?
表A:
总部号 部门名称
1 总部1
2 总部2
3 总部3
表B:
总部号 部门号 部门名称
1 11 部门1
1 22 部门2
1 33 部门3
2 aa 部门1
2 bb 部门2
3 44 部门1
3 55 部门2
3 66 部门3
表C:
部门号 金额
11 100.00
11 100.00
22 100.00
33 100.00
aa 100.00
aa 100.00
bb 100.00
bb 100.00
bb 100.00
55 100.00
55 100.00
66 100.00
66 100.00
66 100.00
66 100.00
根据表A中的总部号,查询出表B中的多个部门号,再通过多个部门号,根据表C统计出:
总部号 部门名称 金额
1 总部1 400.00
2 总部2 500.00
3 总部3 600.00
合计 1500.00
[解决办法]
select
isnull(a.总部号, '合计 ') as 总部号,
部门名称,
sum(c.金额) as 金额
from
表A a,表B b,表C c
where
a.总部号=b.总部号 and b.部门号=c.部门号
group by
a.总部号,部门名称 with rollup
having grouping(部门名称)=0 or grouping(总部号)=1
[解决办法]
select a.总部号, b.部门名称,金额=sum(c.金额)
from 表A a join 表B b on a.总部号=b.总部号 join 表C c on b.部门号=c.部门号
group by a.总部号, b.部门名称