我正在尝试选择从某个from_id写入的所有消息,但只显示具有相同主题ID的最新消息。例如,我的消息传递表如下所示:
Id
From_ID
To_ID
Subject
Subject_ID
Date
[Content]
Percentage
如果消息在同一消息链中,则消息是使用唯一ID创建的,即后续消息,主题ID与消息ID相同。我有由登录的当前用户选择的代码:
Dim query = From p In db.Messages Select p Where p.From_ID = Userid
但我不确定如何使用相同主题ID的最新消息对其进行分组。 谢谢你提前。
答案 0 :(得分:1)
我不是Visual Basic专家,但您可以使用Group By
按SubjectID
对返回的消息进行分组,然后使用{{1}选择每个组中的最新消息}。语法看起来大致如下:
Select
Dim q = From p In db.Messaes
Where p.From_ID = Userid
Group By Subject = p.Subject_ID
Into Messages = Group
Select ...
位需要替换为子查询,该子查询返回当前组中消息的最新消息(在...
中可用)。