我正在尝试转换
的T-sqlselect c.description, sum(t.quantity), sum(t.Price) from trn_itm t
left join CAFE c on t.Item_key = c.dfm_key
where transaction_key = 87378
group by c.Description
我的linq是
var query = from p in DfmSession.CurrentContext.TRN_ITMs
join c in DfmSession.CurrentContext.CAFEs on p.Item_key equals c.Dfm_key into t
from rt in t.DefaultIfEmpty()
where p.Transaction_key == _dfmkey
select new
{
Dfm_key = (int?)rt.Dfm_key,
rt.Description,
p.Quantity,
p.Price
};
如何获得Sum(p.Quantity)和Sum(p.Price)?
答案 0 :(得分:1)
var query = from p in DfmSession.CurrentContext.TRN_ITMs
join c in DfmSession.CurrentContext.CAFEs on p.Item_key equals c.Dfm_key into t
from rt in t.DefaultIfEmpty()
where p.Transaction_key == _dfmkey
group p by rt.Description into g
select new
{
Description = g.Keu
Quantity = g.Select(x => x.Quantity).Sum()
Price = g.Select(x => x.Price).Sum()
};
答案 1 :(得分:1)
var query = from p in DfmSession.CurrentContext.TRN_ITMs
join c in DfmSession.CurrentContext.CAFEs on p.Item_key equals c.Dfm_key into t
from rt in t.DefaultIfEmpty()
where p.Transaction_key == _dfmkey
group by rt.Description into g
select new
{
description = g.Key,
Price = g.Sum(x => x.Price),
Quantity = g.Sum(x => x.Quantity)
};
答案 2 :(得分:0)
group by rt.Description into g
然后在g
上使用您选择的聚合函数,例如:
select new { Price = g.Sum(x => x.Price) }
答案 3 :(得分:0)
group by su.Description into h
然后在h上使用您选择的聚合方法,例如:
select new { Price = h.Sum(y =? y.Price) }