C# と .NET Framework 4.0 を使用して Entity Framework Code First ライブラリを開発しています。
データベースに次のテーブルがあります。
SentBy
列は User テーブルのSentTo
FK です。
別のユーザーにメッセージを送信したユーザーを取得したいのですが、一度だけ取得したいです。これを行うには、次の SQL ステートメントを使用します。
select distinct SentBy, DateUtcSent
from Messages where isAFriendshipRequest = 0 and SentTo = 15
order by DateUtcSent DESC;
order by DateUtcSent DESC;
最新のメッセージが最初に送信されるようにします。
アイデアは、ユーザー 15 にメッセージを送信した各ユーザーの行を取得することです。
しかし、私はこれを取得します:
ご覧のとおり、ユーザー 2 を 2 回取得しています。
最後の行は必要ありません。
ここでは、ユーザー 15 にメッセージを送信した各ユーザーを取得し、ユーザー ID、dateUtcSent、および結果の本文を取得しようとしています。
sentBy 値を複数回取得しないようにするにはどうすればよいですか?
アップデート
そして、私がこれをしたい場合:
select distinct SentTo, DateUtcSent
from Messages where isAFriendshipRequest = 0 and SentBy = 15
order by DateUtcSent DESC;
次に、ユーザーを繰り返したり、最後のメッセージを取得したりせずに、両方の結果をマージします。
どうすればいいですか?