小编典典

递归SQL和不同级别的信息

sql

是否可以在同一查询中显示有关不同递归级别的信息?

select LEVEL, ae2.CAB, ae2.NIVEAU, ae2.ENTITE, ae2.ENTITE_PARENT, ae2.libelle
from my_table ae2
where ae2.NIVEAU = 2
start with ae2.cab = 'XXX'
connect by prior ae2.entite_parent = ae2.entite

通过该查询,我(假设)具有关于根“ XXX”上方的实体的4级信息

是否可以同时显示根信息?


阅读 159

收藏
2021-04-15

共1个答案

小编典典

是的,可以使用CONNECT_BY_ROOT运算符。例如,如果您想要cab父项的,则查询将是:

select connect_by_root cab
      , level, cab, niveau, entite, entite_parent, libelle
   from my_table
  where niveau = 2
  start with cab = 'XXX'
connect by prior entite_parent = entite

您必须为要选择的每个列使用一个新的运算符。你 不会
从递归性的使用该运营商一个“不一样”的水平获取信息,只能从根源。如果您想要更多,则必须使用递归子查询分解。

2021-04-15