ユーザー通信用のメッセージシステムをコーディングしています。受信トレイでは、受信したメッセージをユーザーに表示したくありません。会話を見せたいだけです。したがって、例として、1 人のユーザーが複数のメッセージを送受信する場合、受信トレイにはユーザーとの会話 (作成または受信された最新のメッセージを含む) のみが存在し、ユーザーが会話をクリックすると、彼/彼女は過去のメッセージをすべて見ることができます。
「メッセージ」のテーブル構造 (簡略化) は次のとおりです。
message_id
user_id_sender
user_id_recipient
message
ここでの問題は、各行が 1 つのメッセージであるデータベースにメッセージが保存されるため、特定の方法でこれらのメッセージをグループ化する必要があることです。
私が思いついた選択ステートメントは次のとおりです。
SELECT * FROM messages
WHERE user_id_sender = 1 OR user_id_recipient = 1
GROUP BY user_id_sender
しかし、ユーザー「1」が書いたものと、彼が受け取ったものがあるため、明らかに2つのメッセージを受け取ります..
これを解決する方法を知っている人はいますか?