xmpp サービス内で送信されたすべてのメッセージを格納するテーブルが 1 つあります。すべての会話とその最初のメッセージ (チャット ログの whatsapp など) を取得するためのクエリを作成しようとしています。
これが私のテーブルです。
FromPersonId
およびToPersonId
は人々の ID です。私がしていることは、たとえば、 personId = 643 のすべての会話を見たいということです
SELECT DISTINCT MA.FromPersonId, MA.ToPersonId, MAX(MA.SENTDATE) AS [Date], Body
FROM MessageArchive AS MA
WHERE MA.FromPersonId = @personId OR MA.ToPersonId = @personId
GROUP BY MA.FromPersonId, MA.ToPersonId, Body
ORDER BY [Date] DESC
上記は私が持っているものです。そして結果は
ご覧のとおり、結果は同じ会話に対するものです。しかし、同じ人が別の立場にいるため、同じ会話であるかどうかを区別することはできません。
どうすればこれを修正できますか?