Na verdade, você está incorreto:com ANSI SQL isso não é possível. Certos bancos de dados com extensões de fornecedor (por exemplo,
CONNECT BY
da Oracle ) pode ser capaz de fazer o que você deseja, mas não o SQL antigo simples. Meu conselho? Altere seus dados para permitir uma solução mais fácil.
Nesse caso, dê a cada mensagem um conversation_id. Se o usuário postar uma nova mensagem, dê a ela um novo valor (atualmente não utilizado). Se eles responderem, mantenha o conversation_id da mensagem que está sendo respondida.
Em seguida, consultar os dados torna-se trivial.