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