Oracle
 sql >> Baza danych >  >> RDS >> Oracle

jak uzyskać przodków root w zapytaniu hierarchicznym za pomocą oracle-10g?

W środowisku bazy danych klucze obce na najwyższym poziomie najprawdopodobniej będą wartościami zerowymi:

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

Więc polecam użyć czegoś takiego:

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;

skrzypce



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. wywoływanie procedury składowanej z parametrem wejściowym i kursorem wyjściowym w skrypcie perla

  2. 2 sposoby na uzyskanie minut z wartości daty i godziny w bazie danych Oracle

  3. Nie można utworzyć Oracle View uzyskującego dostęp do obiektów innych schematów, pomimo dotacji

  4. ORA-00910:określona długość jest za długa dla typu danych

  5. Odpowiednik Oracle DB przy aktualizacji zduplikowanego klucza