Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

SQL recursivo e informações em diferentes níveis


Sim, é possível usar o CONNECT_BY_ROOT operador. Por exemplo, se você quiser o cab do pai, sua consulta seria:
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

Você precisa usar um novo operador para cada coluna que deseja selecionar. Você não vai obter informações de um nível "diferente" de recursividade usando este operador, apenas da raiz. Se você quiser mais, terá que usar a fatoração de subconsulta recursiva.