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

来源:互联网 发布:深圳爱玩网络 编辑:程序博客网 时间:2024/05/01 12:59

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

        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



1 0
原创粉丝点击