首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

求一条带sum的linq话语

2013-10-12 
求一条带sum的linq语句现在有三个表t_Product 表idnamet_Price 表idProduct_idpricet_Quantity 表idPrice_

求一条带sum的linq语句
现在有三个表
t_Product 表
id
name

t_Price 表
id
Product_id
price

t_Quantity 表
id
Price_id
Quantity 

我想要的效果是查出商品名、商品价格、商品的销售总量
请问linq语句如何写
[解决办法]
http://blog.sina.com.cn/s/blog_412ec72c0100mall.html
[解决办法]
var query = from p in t_Product
            join r in t_Price on p.id equals r.Product_id
            join q in t_Quantity on r.id equals q.Price_id
            select new { p.id, p.name, r.price, q.Quantity };
[解决办法]
var query = (from p in t_Product
             join r in t_Price on p.id equals r.Product_id
             join q in t_Quantity on r.id equals q.Price_id
             select new { p.id, p.name, r.price, q.Quantity }).GroupBy(x => x.id).
             Select(x => new { id = x.Key, x.First().Name, price = Sum(y => y.price * y.Quantity)})
         
[解决办法]

var query = (from p in t_Product
             join r in t_Price on p.id equals r.Product_id
             join q in t_Quantity on r.id equals q.Price_id
             select new { p.id, p.name, r.price, q.Quantity })
             .GroupBy(p =>new {  p.name, r.price, q.Quantity})
             .OrderByDescending(g=>g.Sum(x=>x.Quantity))
             .Select(g => new { g.Key.Name,g.Key.Price, Quantity= g.Sum(x=>x.Quantity)});

热点排行