次のような 2 つのテーブルがあります。
USER
id
name
MESSAGE
id
sender_id
receiver_id
ご想像のとおり、これらのテーブル間には 1 対多の関係が 2 つあります。
私のバックエンドには、ユーザーに関連付けられたメッセージを検索するフィルターがあります。「フィルター」を押した後、その人に関連付けられたメッセージのリストを表示し、「送信者/受信者」という列に、その人がメッセージの送信者または受信者 (あるいはその両方) であったかどうかを示す列を表示する必要があります。 .
私の疑問:「送信者/受信者」列のベースでリストを注文する可能性も与えなければなりません。「送信者/受信者」列ヘッダーを押すと、最初にユーザーが「送信者」、次に「両方」、最後に「受信者」のメッセージが表示されます。もう一度押すと、ユーザーが「受信者」、次に「両方」、次に「送信者」のメッセージが表示されます。
その順序付けを行うことができる SQL の種類は何ですか?
注: 私が提案したスキーマは必須ではありません。必要な場合は、別のものを提案してください。