我需要加入两个表(Movimientos和Cuentas),由CuentasId组合并制作Movimientos.Monto的SUM Movimientos有一个CuentasId加入这个,我可以从Cuentas获得数据,但不能得到Sum。
这是我最好的方法,任何帮助都会得到预防,我对语法有点困惑。在此先感谢并亲切的问候,
var cuentas = (from mov in _data.Movimientos
join ct in _data.Cuentas
on mov.CuentasId equals ct.CuentasId
where ct.IsDeleted == 0 && mov.IsDeleted == 0
group ct by new
{
CuentasId = ct.CuentasId,
Alias = ct.Alias,
Moneda = ct.Monedas.Nombre,
Signo = ct.Monedas.Signo,
Banco = ct.Bancos.Nombre
} into ctg
select new
{
Alias = ctg.Key.Alias,
Moneda = ctg.Key.Moneda,
Signo = ctg.Key.Signo,
Banco = ctg.Key.Banco,
Monto = ctg.Sum(mov.Monto)
}
).ToList();
答案 0 :(得分:2)
你需要像这样对你要求的值进行分组
group mov.Monto by new { ..... } into ctg
然后ctg
将是按mov.Monto
属性列表分组的ct
个值的集合,您只需在Sum
上调用ctg
即可你的select
Monto = ctg.Sum()
所以你的新查询将是
var cuentas = (from mov in _data.Movimientos
join ct in _data.Cuentas
on mov.CuentasId equals ct.CuentasId
where ct.IsDeleted == 0 && mov.IsDeleted == 0
group mov.Monto by new
{
CuentasId = ct.CuentasId,
Alias = ct.Alias,
Moneda = ct.Monedas.Nombre,
Signo = ct.Monedas.Signo,
Banco = ct.Bancos.Nombre
} into ctg
select new
{
Alias = ctg.Key.Alias,
Moneda = ctg.Key.Moneda,
Signo = ctg.Key.Signo,
Banco = ctg.Key.Banco,
Monto = ctg.Sum()
}).ToList();
答案 1 :(得分:0)
您也可以先尝试分组,然后再对项目进行总结:
xs:boolean