Oracle中使用Start With connect by prior实现树功能

select '|' || lpad(level, level * 4 + 1, '_') || '' ||a. member_name member_cname,
a.member_type,
decode(a.member_type,'加盟店',decode(a.MEMBER_LEVEL,1,'专门店','2','指导级店','3','资深指导级店','4','地区督导','5','全国督导','6','其它')
,'咨询师',decode(a.MEMBER_LEVEL,'0','申请中','1','初阶','2','中阶','3','高阶'))member_level,
a.member_code,
a.ALONE_BV s_bv,
a.TUANDUI_BV t_bv,
a.PROVINCE province_name,
a.city region_name
from (select 
member_name,
MEMBER_TYPE,
max(MEMBER_LEVEL) MEMBER_LEVEL,
MEMBER_CODE,
nvl(sum(ALONE_BV),0)  ALONE_BV,
nvl(sum(TUANDUI_BV),0)  TUANDUI_BV,
PROVINCE,
CITY,
RECOMMEND_CODE
from  ALL_MEMBERS_YJ
where year>=[year_from] and month>=[month_from]
  and year<=[year_to] and month<=[month_to] 
  and is_cancel=decode([s_cancle],'4',is_cancel,'1','1',is_cancel)
 group by member_name,MEMBER_TYPE,MEMBER_CODE,PROVINCE,CITY,RECOMMEND_CODE)a 
 start with a.member_code =[member_code]
 connect by prior a.member_code = a.recommend_code


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值