Buenos Días Casimiro.
Trataré de contarles mejor.
Se trata de una tabla con movimientos de cuenta de clientes, donde hay un ID unico, y luego IDCLIENTE, FECHA, DEBITO Y CREDITO. El saldo lo calculaba desde el Query con Sum(C2.DEBE-C2.HABER)as SALDO.
Esto estaba funcionando perfecto ordenado por ID que es el campo único incremental que tengo. Pero ahora resulta que necesito añadir movimientos a la tabla con fechas anteriores a las ya existentes, y entonces el ID ultimo agregado irá al final. Por lo que necesito ordenar por Fecha (solo fecha no tengo horas y si las tuviera no me servirían) Porque por ej Hoy, se puede registrar un movimiento de hace 2 días.
Intenté cambie el order by a FECHA, pero ordena los registros por fecha, mientras que el saldo lo calcula por ID.
Necesito ver como calcular los saldos por el orden de fecha.
MAMCX me pedía datos iniciales. Simplemente pretendo ordenar los siguientes datos (esto
Código:
ID FECHA IDCLI DEBE HABER SALDO
80 2019-08-27 11 120 0 120
81 2019-08-27 11 50 0 170
82 2019-08-27 11 250 0 420
131 2019-08-29 11 300 0 720
261 2019-09-03 11 30 0 750
273 2019-09-14 11 0 20 730
274 2019-09-01 11 0 150 580
275 2019-09-12 11 0 100 480
Esos datos son el resultado de la sentencia
Código SQL
[-]Select c1.id, c1.fecha, c1.cliente, c1.DEBE, C1.HABER,Sum(C2.DEBE-C2.HABER)as SALDO
from CTACTE C1
inner join CTACTE C2
on (C1.id >= C2.id)
where (c1.cliente = :cli and c2.cliente = :cli )and c1.fecha >= :f
Group By c1.fecha,c1.id, c1.cliente, c1.DEBE, C1.HABER
Order by c1.id
Si cambio el on (C1.id >= C2.id) por FECHA en lugar de ID, en los 3 registros que tiene la misma fecha me pone como saldo en cada registro la suma de los 3 registros.