请问如何通过 ORACLE SQL语句实现如下统计
表结构:
单位编码 单位名称 上级单位编码 统计类型 count
10000000 中国 VI 10
10000000 中国 DS 20
11000000 北京 10000000 VI 5
11000000 北京 10000000 DS 3
12000000 上海 10000000 VI 2
12000000 上海 10000000 DS 3
11000001 朝阳区 11000000 VI 5
11000002 怀柔区 11000000 VI 3
11000002 怀柔区 11000000 DS 3
要求:如何通过 ORACLE SQL语句实现如下统计
当输入中国编码 10000000 的时候,求中国count总数,包括它自己和他的孩子(注意根据统计类型分组)
当输入北京编码 11000000 的时候,求北京count总数,包括它自己和他的孩子(注意根据统计类型分组)
当输入怀柔区编码 11000002 的时候,求怀柔区count总数,包括它自己和他的孩子(注意根据统计类型分组)
效果:
10000000 中国 VI 23
10000000 中国 DS 29
11000000 北京 VI 13
11000000 北京 DS 6
11000002 怀柔区 VI 3
11000002 怀柔区 DS 3
------解决方案--------------------select 单位编码,单位名称, sum(count) from( form (select 上级单位编码 as 单位编码,单位名称, sum(count) as count from table where 上级单位编码='10000000' group by 单位编码,单位名称, 上级单位编码) union all (select 上级单位编码 as 单位编码,单位名称, count from table where 单位编码='10000000') tempTable) group by 单位编码,单位名称
------解决方案--------------------select count(1) from a start with ....connect by...
树查询就好了啊