sql >> Database >  >> RDS >> Oracle

Recursieve zoekopdracht in Oracle

In Oracle is dit eenvoudig te doen met 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;

Dit leidt de boom van boven naar beneden.

Als je door de boom wilt lopen van een enkel bericht naar de hoofdmap, verander dan de start with en de connect by deel:

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. hoe kan ik meer dan twee kolommen samenvoegen in plsql developer?

  2. Moet een MAMP ::1 retourneren als IP op localhost?

  3. MySQL:de lengte van tekst in een kolom krijgen

  4. Is er een manier om Java op Oracle 11g XE te installeren?