首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

汇总统计有关问题

2012-01-20 
汇总统计问题?表A:总部号部门名称1总部12总部23总部3表B:总部号部门号部门名称111部门1122部门2133部门32a

汇总统计问题?
表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.部门名称

热点排行