sql >> Databáze >  >> RDS >> Oracle

jak získat kořenové předky v dotazu na hierarchii pomocí oracle-10g?

V databázovém prostředí budou cizí klíče na nejvyšší úrovni s největší pravděpodobností null, například takto:

| pid  | cid  |
|------*------|
| null |  2   |
|  2   |  3   |
|  3   |  4   |
| null |  6   |
|  6   |  7   |
|  7   |  8   |

Takže bych doporučil použít něco jako:

select connect_by_root(t1.cid) as startpoint,
       t1.cid                  as rootnode
  from your_table t1
 where connect_by_isleaf = 1
 start with t1.cid in (8, 4)
connect by prior t1.pid = t1.cid;

fiddle



  1. Jaké jsou výhody a nevýhody ukládání souborů do databáze?

  2. Proč podmínky CROSS JOIN nefungují v klauzuli 'ON', pouze v klauzuli WHERE?

  3. Zpracování sekvencí Unicode v postgresql

  4. Automatizace bezpečnostních auditů pro PostgreSQL