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

Rekurzivní dotaz v Oracle

V Oracle to lze snadno provést 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 prochází stromem shora dolů.

Pokud chcete projít strom od jedné zprávy ke kořenu, změňte start with a connect by část:

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. Jak vypočítat měsíční růst v PostgreSQL

  2. SQL Server Lock Eskalace

  3. Vytvořte dotaz v SQL Server 2017

  4. Jak exportovat prázdné tabulky v oracle