现在有一个表,3个字段,id,parentId(父id),amount(消费的钱)
业务是这样的:一个总公司下面可以有多个分公司,这些分公司的parentId就是总公司的id,分公司又可以有多个会员,这些会员的parentId就是他上级(分公司)id,现在需要写一个查询语句来查出这个总公司下属所有的分公司的amount的和 以及 所有分公司下属会员的amount的和
求高手写个sql语句~!
------解决方案--------------------
with cte as(
select id,parentid,amount,ulevel
from tb
where id=2
union all
select a.id,a.parentid,a.amount,a.ulevel
from tb a,cte b
where a.parentid=b.id)
select ulevel,sum(amount) as amount
from cte
group by ulevel