Właściwie nie masz racji:w przypadku ANSI SQL to nie jest możliwy. Niektóre bazy danych z rozszerzeniami dostawców (np. Oracle CONNECT BY
) może być w stanie robić to, co chcesz, ale nie zwykłym starym SQL.
Moja rada? Zmień swoje dane, aby umożliwić łatwiejsze rozwiązanie.
W takim przypadku nadaj każdej wiadomości identyfikator rozmowy. Jeśli użytkownik opublikuje nową wiadomość, nadaj jej nową (obecnie nieużywaną) wartość. Jeśli odpowie, zachowaj identyfikator konwersacji wiadomości, na którą odpowiada.
Wtedy zapytanie o dane staje się trywialne.