Ver Mensaje Individual
  #19  
Antiguo 17-10-2019
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Si entiendo bien, esta consulta lo resuelve:

Código SQL [-]
SELECT 
*,
SUM(debe - haber) OVER (
    PARTITION BY cli --quitar si no debe calcular saldo por cliente, sino global
    ORDER BY id
   ) AS saldo_calculado
FROM mytable
ORDER BY id, fecha

Una explicacion de las funciones windows/cte (en postgresql que normalmente es lo que tiene mejor documentacion):

http://www.postgresqltutorial.com/po...ndow-function/

Código:
id  |   fecha    | cli | debe | haber | saldo | saldo_calculado 
-----+------------+-----+------+-------+-------+-----------------
  80 | 2019-08-27 |  11 |  120 |     0 |   120 |             120
  81 | 2019-08-27 |  11 |   50 |     0 |   170 |             170
  82 | 2019-08-27 |  11 |  250 |     0 |   420 |             420
 131 | 2019-08-29 |  11 |  300 |     0 |   720 |             720
 261 | 2019-09-03 |  11 |   30 |     0 |   750 |             750
 273 | 2019-09-14 |  11 |    0 |    20 |   730 |             730
 274 | 2019-09-01 |  11 |    0 |   150 |   580 |             580
 275 | 2019-09-12 |  11 |    0 |   100 |   480 |             480
__________________
El malabarista.
Responder Con Cita