我想在一个查询中做2组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保存为(来自lifeferschein表的Deckungsbeitrag的总和)-(从表Tagestour到表Fahrer的成本的公公里之和)。首先,我需要两个group by语句来构建求和然后,我要创建一个select deckungshebeitrag作为(算术函数)我怎么能这么做?我很乐意得到一些帮助,因为我快要疯了:D
最后你在d1上得到的结果是一个igrouing所以你需要做这样的事情:
select new{ X1 = d1.Key.Lieferadresse.Sum(), X2 = d1.Key.Deckungsbeitrag.Sum() }
我还建议把这个例子翻译成英文
好的,它是一个物流工具。我们有一个标签交付订单,其中保存了某个旅行的边际收益和几个地址,例如一个交付订单可以包含许多地址,这些地址都有一个id,但可以属于某个旅行,例如地址1,2,3属于tour1,地址4,5,6属于tour2,等等。我们有一种叫tour的桌游,可以节省行程,也可以节省旅行的费用,旅行的时间,我们有一名桌游司机,可以节省司机的身份证,以及他每小时的工资。现在我的目标是计算,旅游的边际回报是否足以补偿可变成本。我的公式是:边际收益-成本-(时间*司机每小时的收入)然后,我想建立一个声明组,其中所有属于某个旅行的结果被总结。最后我想要这样的东西:tour1 200000美元,tour2 150000美元等等……D
这是我到目前为止所做的:
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分组的微积分和。