现有如下结构表 产品表 product
id name parent_id
----------------------------
001 电子类 0
002 金属类 0
004 电子电容 001
005 电子电阻 001
006 有色金属 002
007 无色金属 002消耗表 consume
id num
----------------
004 50
005 125
006 39
007 12要统计得到如下结果:
id name num
----------------------------
001 电子类 175
004 电子电容 50
005 电子电阻 125
002 金属类 51
006 有色金属 39
007 无色金属 12问:如何得到上面所列的统计结果?(即统计结果中有父类的合计同时还得在他的先面列出子类)
id name parent_id
----------------------------
001 电子类 0
002 金属类 0
004 电子电容 001
005 电子电阻 001
006 有色金属 002
007 无色金属 002消耗表 consume
id num
----------------
004 50
005 125
006 39
007 12要统计得到如下结果:
id name num
----------------------------
001 电子类 175
004 电子电容 50
005 电子电阻 125
002 金属类 51
006 有色金属 39
007 无色金属 12问:如何得到上面所列的统计结果?(即统计结果中有父类的合计同时还得在他的先面列出子类)
解决方案 »
- 看到星星在向我挥手了!提前庆祝!进来者有分!而且是技术分!
- 我在RedhatLinux 9.2上装oracle 10g 遇到的问题,请各位高手帮帮忙!!!(来者有益)
- oracle 9i标准版能不能装rac
- 关于Oracle安装Enterprise Manager配置出错
- 根据发票号求结算人次的问题。
- 数据库恢复问题?
- 关于用SQL语法直接生成树结构?
- 一个关于语句没有使用索引的问题
- 使用powerdesigner9.5对ORACLE9I数据库建模时,对象上的引号问题。
- oracle12.2 登陆EM时的“需要身份验证”是需要什么密码?
- 这样的过滤SQL如何写
- 急,该sql语句在toad和应用程序里出错,select '国' as test from dual,但是
select a.p_id,c.name,b.num from product a inner join consume b
on a.id=b.id inner join product c on a.p_id=c.id
union
select a.id,a.name,b.num from product a inner join consume b
on a.id=b.id ) m
group by p_id,[name]
order by p_id
2 (select sum(num) from product b,consume c
3 where b.id = c.id(+) start with b.id = a.id
4 connect by prior b.id = b.parent_id) num
5 from product a;ID NAME NUM
---------- -------------------- ----------
001 电子类 175
002 金属类 51
004 电子电容 50
005 电子电阻 125
006 有色金属 39
007 无色金属 12已选择6行。
2 (select sum(num) from product b,consume c
3 where b.id = c.id(+) start with b.id = a.id
4 connect by prior b.id = b.parent_id) num
5 from product a start with parent_id = 0 connect by prior a.id = a.parent_id;ID NAME NUM
---------- -------------------- ----------
001 电子类 175
004 电子电容 50
005 电子电阻 125
002 金属类 51
006 有色金属 39
007 无色金属 12已选择6行。