linq 多表分组查询统计

var q1 = from orderitem in q2
                     join pd in _iProductDetailContract.Entities on orderitem.ProductDetailId equals pd.Id
                     join pm in ProductMainContract.Entities on pd.ProductMainId equals pm.Id
                     join user in UserContract.Entities on pm.BuyerId equals user.Id
                     into orderItemBuyer
                     from user in orderItemBuyer.DefaultIfEmpty()
                     group new { orderitem.Price, orderitem.Num }
                     by new { orderitem.ProductDetailId, orderitem.Name, orderitem.Size, orderitem.Price, pm.AliasName, BuyerName = user.Name }
                     into g
                     orderby g.Sum(p => p.Num) descending
                     select new
                     {
                         ProductDetailId = g.Key.ProductDetailId,
                         Name = g.Key.Name,
                         Size = g.Key.Size,
                         AliasName = g.Key.AliasName,
                         BuyerName = g.Key.BuyerName,
                         Num = g.Sum(p => p.Num),
                         Price = g.Key.Price,
                         TotlePrice = g.Sum(p => p.Num * p.Price)
                     }
                     ;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值