2 つのテーブルがあり、そのうちの 1 つである「リクエスト」には、フレンド リクエストを送信したユーザー、またはフレンド リクエストを受信したユーザーがいます。2 番目のテーブルには、最終候補に挙げられたユーザーの記録を自分用に保持します。ここで、これらすべてのユーザーを一緒に選択したいと思います (私が要求したユーザー、私を要求したユーザー、最終候補に挙げたユーザー)。これにはユニオンクエリを使用しており、列の型に基づいてそれらを区別しています
select Distinct userid,type,status from
(
select RequestSenderId as UserId,'requestedme' as type,'1' as status from tblrequest where RequestReceiverId=@UserId
union
select RequestReceiverId as UserId,'requestedbyme' as type,'2' as status from tblrequest where RequestSenderId=@UserId
union
select Shortlisteduserid as UserId,'Shortlisted' as type,'0' as status from tblshortlist where userid=@UserId
)
問題は、私が最終候補に挙げた場合、個別のユーザー ID を取得できず、彼も私に要求を送信したことです。
結果から個別のユーザーIDを取得する方法を誰かが提案できますか。最優先事項は、最終候補としてではなく、要求どおりにユーザー ID を取得することです。