现有如下结构表 产品表 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问:如何得到上面所列的统计结果?(即统计结果中有父类的合计同时还得在他的先面列出子类)
解决方案 »
- oracle 查询结果中的一个字段结果是id的组合(1,2)是字符串,如何让另一个表查询的时候可以用in查这个Id的集合
- 判断两个星期是否在同意星期内?
- 如何编程实现动态关闭或打开触发器
- *********怎么把十进制转换为二进制呢?*********
- (高分请教)通过存储过程procedure怎么获取一个表的所有记录
- oracle Enterprise console 登陆出错???急~~~~~~~~~~```
- sql语句:如何查找一个表中部分相同的记录?
- 一个导数据的问题,请指点
- 走过,路过,请不要跳过(在线等待……)
- 请问哪儿可以下载rose的pb插件的licence或crack?
- 这样的过滤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行。