Oracle START WITH ... CONNECT BY PRIOR 带条件会有重复

查出当前节点下面的所有节点 因为要取表中的部分数据 所以要加条件

        SELECT * FROM CFG_CPMP_DMN_TREE WHERE CLASSIFY = 'SCENE'

select * from cfg_cpmp_dmn_tree where classify='SCENE' start with code_val='1' connect by prior code_val=up_code_val 

发现有很多重复的数据



正确应该是这样的

SELECT CODE_VAL, UP_CODE_VAL
  FROM (SELECT * FROM CFG_CPMP_DMN_TREE WHERE CLASSIFY = 'SCENE')
-- WHERE IS_LEAF = 1-- 总限制取叶子节点
 START WITH CODE_VAL = '1'
CONNECT BY PRIOR CODE_VAL = UP_CODE_VAL



  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值