选择详细信息表最后一排为每个用​​户

我们有2表

  1. tbl_members在此表中,我们有所有成员的细节,如MEMBERID,姓名,年龄等
  2. tbl_payment在此表中,我们有所有的支付细节,如paymentId,MEMBERID,PAYMENTDATE等

我们要选择我们所有的用户名和只显示他们的最后PAYMENTDATE及金额

Name PaymentDate Amount ---------------------------- Row1 12/12/2011 1200 Row2 12/18/2011 100 Row3 12/16/2011 99 Row4 12/08/2011 1500

这可怎么使用LINQ做什么?

--------------解决方案-------------

就像是:

Members.Select(c => new
{
Member = m,
LastPayment = m.Payments.OrderByDescending(p => p.PaymentDate).FirstOrDefault()
})
.Select(x => new { x.Member.Name, x.LastPayment.PaymentDate, x.Payment.Amount })

你应该用用户分组,以小组支付,然后由它PAYMENTDATE选择顶层元素。 看看这个问题:LINQ的 - 超值形成每个组。

tbl_payment.GroupBy(p => p.memberId).Select(g => g.Order(p => p.PaymentDate).First())

分类:SQL服务器 时间:2015-03-15 人气:1
本文关键词: SQL Server中,LINQ
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.884 (s). 10 q(s)