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

Zapytanie rekurencyjne w Oracle

W Oracle można to łatwo zrobić za pomocą CONNECT BY

select message_id, parent_id, message_content
from messages
start with message_id = 97 -- this is the root of your conversation
connect by prior message_id = parent_id;

To prowadzi drzewo od góry do dołu.

Jeśli chcesz przejść drzewo od pojedynczej wiadomości do korzenia, zmień start with i connect by część:

select message_id, parent_id, message_content
from messages
start with message_id = 100 -- this is the root of your conversation
connect by prior parent_id = message_id; -- this now goes "up" in the tree


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kopia zapasowa online vs offline

  2. (Angielski) Jak używać Oracle Database 19c Pre-Built Developer VM?

  3. problem z użyciem parametrów Oracle w SELECT IN

  4. Zarządzanie obsługą błędów podczas uruchamiania sqlplus ze skryptów powłoki

  5. Wyzwanie testowania bazy danych Oracle — Porównaj dane schematu