Ve skutečnosti nemáte pravdu:s ANSI SQL to není možný. Některé databáze s rozšířením dodavatele (např. Oracle CONNECT BY
) může být schopen dělat, co chcete, ale ne obyčejné staré SQL.
Moje rada? Změňte svá data a povolte jednodušší řešení.
V tomto případě přidělte každé zprávě id_konverzace. Pokud uživatel odešle novou zprávu, zadejte jí novou (momentálně nepoužívanou) hodnotu. Pokud odpoví, ponechte si konverzační_id zprávy, na kterou se odpovídá.
Pak se dotazování na data stává triviálním.