Trên thực tế, bạn không chính xác:với ANSI SQL, điều này không khả thi. Một số cơ sở dữ liệu nhất định có phần mở rộng của nhà cung cấp (ví dụ:CONNECT BY
của Oracle ) có thể làm những gì bạn muốn nhưng không phải là SQL cũ.
Lời khuyên của tôi? Thay đổi dữ liệu của bạn để kích hoạt một giải pháp dễ dàng hơn.
Trong trường hợp này, hãy cung cấp cho mỗi tin nhắn một talk_id. Nếu người dùng đăng một tin nhắn mới, hãy cung cấp cho nó một giá trị mới (hiện chưa được sử dụng). Nếu họ trả lời, hãy giữ lại talk_id của tin nhắn đang được trả lời.
Khi đó, việc truy vấn dữ liệu trở nên tầm thường.