2011-02-10 72 views
0

我想选择从某个from_id写入的所有邮件,但只显示具有相同主题ID的最新邮件。例如我的消息传送表看起来像这样:与唯一ID创建选择所有邮件,但不是如果主题ID相同

Id 
From_ID 
To_ID 
Subject 
Subject_ID 
Date 
[Content] 
Percentage 

每个消息,如果该消息是在相同的消息间链即在消息中的主体ID是相同的消息ID的后续。我的代码当前用户选择在登录:

Dim query = From p In db.Messages Select p Where p.From_ID = Userid 

,但我不能确定如何通过与相同主题ID的最新消息组吧。 感谢先进。

回答

1

我不是Visual Basic专家,但您可以使用Group By将返回的邮件按SubjectID分组,然后只需使用Select从每个组中选择最新邮件。语法看起来大致是这样的:

Dim q = From p In db.Messaes 
     Where p.From_ID = Userid 
     Group By Subject = p.Subject_ID 
     Into Messages = Group 
     Select ... 

...位需要与它返回(在Messages可用)当前组中的消息的最新消息的子查询所代替。

+0

即时通讯不完全确定如何构建子查询,因为当使用'消息'它不显示在表中的字段 – Houlahan 2011-02-12 12:41:34

相关问题