我已经搜索了解决方案,但没有任何相似之处。 我的问题是我想选择从数据库中的数据,基时,它通过用户ID和由状态ID计数它LINQ to SQL分组和计数
用户
UserID
Name
约会
UserID
ClientID
Status
StartDate
状态可以是活动= 1,取消= 2,完成= 3
这就是我将如何显示结果。
在此先感谢。
我已经搜索了解决方案,但没有任何相似之处。 我的问题是我想选择从数据库中的数据,基时,它通过用户ID和由状态ID计数它LINQ to SQL分组和计数
用户
UserID
Name
约会
UserID
ClientID
Status
StartDate
状态可以是活动= 1,取消= 2,完成= 3
这就是我将如何显示结果。
在此先感谢。
在你的问题,你说你要组上UserId
,但在输出告诉你Name
。这个查询将在两者上进行分组。您可能需要根据需要进行调整。
from u in tblUsers
join a in tblAppointments on u.UserID equals a.UserID
group a by new { u.UserID, u.Name } into g
select new
{
Name = g.Key.Name,
Active = g.Count (x => x.Status == 1),
Canceled = g.Count (x => x.Status == 2),
Done = g.Count (x => x.Status == 3)
}
(如果两个用户具有相同的名称,虽然这将处理的情况下)
谢谢人,很好,它的工作很好。 – 2012-01-30 17:33:58
你尝试过什么码? – user7116 2012-01-30 17:13:28
你实际上在这里转发数据;不是什么LINQ是伟大的,但这可能有助于http://stackoverflow.com/questions/963491/pivot-data-using-linq – Dave 2012-01-30 17:15:27