Pregunta

resuelto: IstBestellwert = grouped.Sum (o = > (double) o.SollMenge * (double) o.Preis) funciona

Mi declaración SQL

 SELECT        ABId, SUM(Preis * IstMenge) AS IstBestellwert, SUM(Preis * SollMenge) AS SollBestellwert
    FROM            vChainStoreOrderingDetails
    GROUP BY ABId, FilialId
    HAVING  

  (ABId = 10) AND (FilialId IN (8, 140))

mi intento en linq

from csod in db.vChainStoreOrderingDetails
                                  where csod.Lieferdatum == lieferdatum && csod.ABId == ab.Id
                                  && filialen.Select(o => o.FilialId).Contains(csod.FilialId)
                                  group csod by new
                                  {
                                      csod.ABId
                                  } into grouped
                                  select new
                                  {
                                     test =grouped.Sum(o=> new {  test =((double) o.Preis * (double)o.SollMenge)})
                                  });

pero la parte seleccionada no funciona. ¿Cómo puedo hacer una multiplicación dentro de la agrupada.Sum () entonces sumo el valor multiplicado

¿Fue útil?

Solución

IstBestellwert = grouped.Sum (o = > (double) o.SollMenge * (double) o.Preis)

está bien, esto parece funcionar sry por preguntar

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top