Código MySQL:
Ver original -> ing.Mes
, ing.Anio
, Ingresos
, Gastos
, (ingresos
- gastos
) saldo
, SUM(ingresos
- gastos
) Acumulado
-> cajamonto
-> cajachica
-> AND ing.anio
= gts.anio
+------+------+----------+--------+--------+-----------+
| Mes | Anio | Ingresos | Gastos | saldo | Acumulado |
+------+------+----------+--------+--------+-----------+
| 1 | 2016 | 1460.00 | 550.00 | 910.00 | 910.00 |
| 2 | 2016 | 889.00 | 441.00 | 448.00 | 448.00 |
| 3 | 2016 | 453.00 | 520.00 | -67.00 | -67.00 |
| 4 | 2016 | 950.00 | 340.00 | 610.00 | 610.00 |
| NULL | 2016 | 950.00 | 340.00 | 610.00 | 1901.00 | +------+------+----------+--------+--------+-----------+
La repetición de datos en la última linea es inevitable para lo que quieres hacer, al menos desde el SQL.
Para evitar eso hay que utilizar variables de sesion de usuario, que necesitan mucha práctica.