各メッセージにsenderFKとrecipientFKがあり、それぞれがユーザーレコードにマッピングされる単純なメッセージングスキーマがあります。現在のユーザーにとっては、すべての異なるスレッドを取得する必要があります。異なるスレッドは、メッセージを送信または受信したユーザーのsenderFKまたはrecipientFKです。SQL - ユーザーIDが与えられたすべての個別のメッセージスレッドを取得するためのクエリが必要
ので、例えば:このクエリは、現在のユーザーからメッセージを受信したすべてのユーザーを取得します
SELECT DISTINCT senderFK AS threadID FROM Messages
WHERE recipientFK = 'usr_developer'
:
このクエリでは、現在のユーザーにメッセージを送信されたすべてのユーザーを取得します
SELECT DISTINCT recipientFK AS threadID FROM Messages
WHERE senderFK = 'usr_developer'
これらのクエリを、ユーザーごとに個別の行と1つの列(threadID)を持つ単一の表に組み合わせるにはどうすればよいですか。
マイケルのユニオンがあなたが探していたものでない場合、あなたが望むもののいくつかのサンプル行を表示できますか?それが正しい結果なら、それを受け入れてください。 UNIONを実行すると、すべての列(この場合は1つの列)の値が重複している行は、出力に1回しか表示されません。そして、それはあなたが望んだように聞こえます。 –