oracle递归查询

1、从上往下查询

使用 start with a= ‘起始ID‘ connect by prior a= b

a为子项,b为父项。

select F_CA_CODE,F_CA_PARENTCODE,LEVEL from RGT_UNIT start with F_CA_CODE = 0 connect by prior F_CA_CODE = F_CA_PARENTCODE 

查询结果:

技术分享

其中LEVEL为oracle内置函数

如果加入查询条件需要在start with前面加入:

select F_CA_CODE,F_CA_PARENTCODE,LEVEL from RGT_UNIT where LEVEL=3 start with F_CA_CODE = 0 connect by prior F_CA_CODE = F_CA_PARENTCODE 

查询结果:

技术分享

 2、从下往上查询

使用 start with a= ‘起始ID‘ connect by prior b= a

a为子项,b为父项。

select F_CA_CODE,LEVEL from RGT_UNIT start with F_CA_CODE=10011 connect by  prior  F_CA_PARENTCODE =F_CA_CODE

查询结果:

技术分享

其中LEVEL为oracle内置函数

如果加入查询条件需要在start with前面加入:

select F_CA_CODE,LEVEL from RGT_UNIT where LEVEL=2 start with F_CA_CODE=10011 connect by  prior  F_CA_PARENTCODE =F_CA_CODE

查询结果:

技术分享

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。