Oracle
 sql >> Database >  >> RDS >> Oracle

SQL ricorsivo e informazioni a livello diverso

Sì, è possibile utilizzare CONNECT_BY_ROOT operatore. Ad esempio, se volevi il cab del genitore la tua domanda sarebbe:

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

Devi usare un nuovo operatore per ogni colonna che vuoi selezionare. non lo farai ottenere informazioni da un livello "diverso" di ricorsività utilizzando questo operatore, solo dalla radice. Se vuoi di più dovrai usare fattorizzazione ricorsiva di sottoquery.