请问大家,这样一条SQL语句应该怎么写?

需要查询各级用户的money总和,查询userid=1的用户的money总和,因为他的pid=0,即是查询所有用户的money总和,查询userid=2的用户的money... 需要查询各级用户的money总和,查询userid=1的用户的money总和,因为他的pid=0,即是查询所有用户的money总和,查询userid=2的用户的money总和需要包括他的子级以及衍生子级的money总和,以此类推,请问大家,这样一条SQL语句应该怎么写? 展开
 我来答
wendua
2018-08-13 · TA获得超过306个赞
知道小有建树答主
回答量:417
采纳率:75%
帮助的人:144万
展开全部
sqlserver中的做法如下:
/****** Script for SelectTopNRows command from SSMS ******/
/****** Script for SelectTopNRows command from SSMS ******/
with subtry(id,userid,userid1,pid,money) as
(
select id,userid,userid userid1,pid,money from table1 b
union all
select b.id,subtry.userid,b.userid,b.pid,b.money from table1 b ,subtry
where b.pid=subtry.userid1
)
select userid
, (select sum(money) from (select distinct * from subtry) b where b.userid=a.userid
) money
from table1 a
group by userid
order by userid
adamlin2000
2018-08-14 · 超过18用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:10.4万
展开全部
with userlist as
(
select userid, pid, sum(money) money from bi_bookcity.haha_813 group by userid, pid order by userid
)
select userid,pid
, (select sum(money) from userlist connect by pid = prior userid start with userid = t0.userid) money
from userlist t0
order by userid
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式