Ich arbeite an einem Chat-System und müssen die Posteingang Daten für Benutzer 1119 abrufen. Diese Abfrage sollte die letzte Nachricht aus jeder Konversation zurückgeben.SQL & LINQ - Distinct von 2 Spalten und "umgekehrte Werte"
Eine Nachricht Einheit besteht aus einer Sender-ID (CreateUserId), Empfänger-ID (Benutzer-ID), Datum (ErstellDat) und den Nachrichtentext (Desc)
EDIT: Ein "Gespräch" ist eine Gruppe von Nachrichten gesendet zwischen zwei Benutzer. Wenn die Benutzer beispielsweise 1119 und 1120 sind, sind die Nachrichten in der Konversation diejenigen mit CreateUserId = 1119, UserId = 1120 ODER CreateUserId = 1120, UserId = 1119.
Die aktuelle Abfrage sieht wie folgt aus:
SELECT MAX(Id) Id, CreateUserId Sender,
UserId Receiver, MAX(CreateDate) Date, MAX([Desc]) Message
FROM [CarSharing].[dbo].[Message]
WHERE CreateUserId = 1119 OR UserId = 1119
GROUP BY CreateUserId, UserId)
Letztlich würde Ich mag diese mit LINQ implementieren, so Lösungen, die auch sehr willkommen!
Bearbeiten Sie Ihre Frage mit Beispieldaten und gewünschten Ergebnissen. Was ist eine Unterhaltung? –