我想在一个查询中执行2个group by和sum语句。 我正在使用Visual Studio MVC开展项目。
这就是我到目前为止所做的:
var query = from sn in db.Standardtouren
from stid in db.Tagestouren
from d in db.Lieferscheine
from k in db.Fahrer
from stlid in db.StandardtourBestehtAusLieferadresse
where stid.VorlageStandardtour.Equals(sn.StandardtourID)
where k.FahrerID.Equals(stid.Fahrer)
where d.Lieferadresse.Equals(stlid.LieferadresseID)
group d by new {d.Lieferadresse, d.Deckungsbeitrag}
into d1
我的目标是有一个包含行Tourname,Costs和Deckungsbeitrag的表,而Deckungsbeitrag保存为(来自Lieferschein表的Deckungsbeitrag的总和) - (表格Tagestour的公里数乘以表Fahrer的成本) )。 所以我首先需要2组状态我建立总和然后我想做一个选择Deckungsbeitrag作为(算术函数) 我可以这样做吗? 我很乐意得到一些帮助,因为我变得疯狂:D
答案 0 :(得分:0)
最后,您在d1上的结果是IGrouping,因此您需要执行以下操作:
select new{ X1 = d1.Key.Lieferadresse.Sum(), X2 = d1.Key.Deckungsbeitrag.Sum() }
我还建议将示例翻译成英文
答案 1 :(得分:0)
答案 2 :(得分:0)
这是我目前管理的内容:
var query = from sn in db.Tours
from d in db.deliveryorder
from l in db.adresses
from k in db.driver
from stlid in db.tourContainsAdresses
where k.driversID.Equals(stlid.driver)
where d.adresses.Equals(l.adresses)
select new {
sn.Name,
calculus= d.mgreturn-sn.costs-(sn.time*k.driverscost)
这就是我现在遇到问题的地方,我想建立一个微积分,它由sn组成。名字和微积分...