0

次のメッセージテーブルがあります:

ここに画像の説明を入力

たとえば、受信ボックス内のすべてのメッセージを一覧表示したい場合、
私がユーザー番号 1 であると仮定すると、受信ボックスには
次のように表示されます。

ユーザー 2
とのメッセージ ユーザー 3
とのメッセージ ユーザー 4 とのメッセージ

このためのクエリを作成する最良の方法は何ですか?

次のようなやや奇妙なクエリを思いつきました:(疑似コード)

SELECT
    *
FROM
    `message`
WHERE
    (`user_id_sender` = 1 AND `user_id_receiver` NOT 1)
    OR
    (`user_id_sender` NOT 1 AND `user_id_receiver` = 1)

ありがとうございました

4

1 に答える 1

0

それはとても簡単です

SELECT user_id_sender ID,
       (SELECT user_id_reciever 
        FROM messages 
        WHERE user_id_sender NOT IN(ID) 
        GROUP BY user_id_reciever
       )
FROM message
于 2012-05-03T08:56:29.560 に答える