FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Hacer columna saldo acumulado SQL Firebird 3
Buenas Compañeros disculpen is revivo un viejo Hilo.
Pero venía usando una sentencia como la que mencionaban arriba
Cuyo resultado es correcto: por ej Cita:
Perfecto, cambir el Order pero la suma de saldo no se calcula bien ya que si se agregan registros de fechas anteriores, el ID será mayor a los ID de la fechas anteriores y computará mal los saldos. Aquí resultado de la misma consulta cn ORDER BY FECHA Cita:
En la clausula ON he probado poniendo on ((c1.fecha <= c2.fecha)and (C1.id >= C2.id)) Pero el resultado es erroneo igual al anterior. Gracias por su tiempo |
#2
|
||||
|
||||
Este tipo de problemas se resuelve mucho mas facilmente con los CTEs:
https://docs.microsoft.com/en-us/sql...ql-server-2017 (SQL ha avanzado desde 1992!)
__________________
El malabarista. |
#3
|
|||
|
|||
en el ejemplo Creating a simple common table expression lo que propone es muy similar a la sintaxis que he usado y se ha expuesto aquí arriba.
Y en mi caso estoy usando FIREBIRD 3 |
#4
|
||||
|
||||
Firebird lo usa hace rato (nota la fecha del post):
https://firebird21.wordpress.com/201...le-expression/ SQL ha avanzado desde 1992! P.D: Y reitero, con CTE esto se resuelve muy facil y cubre mas de lo que pides. Pegale una estudiada... CTE es lo maximo para hacer reportes y estadisticas!
__________________
El malabarista. Última edición por mamcx fecha: 04-10-2019 a las 22:32:44. |
#5
|
||||
|
||||
No he entendido bien, dices que quieres ordenar por fecha, pues cambias c1.id por c1.fecha:
|
#6
|
|||
|
|||
Casimiro, lo que dices es correcto, y eso comenté que hice, pero si observas los resultados de los saldos acumulados no coinciden.
Fijate el ejemplo en números que puse en el primer post. El problema con las fechas se da si hay registros con misma fecha, y con registros que soy agregados hoy, pero registrados con fecha vieja. |
#7
|
||||
|
||||
Es que los saldos tienen que ser diferentes si cambias el orden, porque van registros antes o después.
Es el "problema" con los bancos, que ves que te va a faltar saldo para pagar algún recibo, haces un ingreso y cuando miras el extracto resulta que te han cobrado el recibo antes que el apunte de tu ingreso, porque lo han ordenado por "fecha valor" en lugar de "fecha real", por poner un ejemplo similar. |
#8
|
|||
|
|||
Cita:
Cita:
Así queda orden por ID, los saldos quedan bien ordenados pero no las fechas y los movimientos Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
calcular saldo Firebird+DBX | hibero | Firebird e Interbase | 4 | 24-03-2008 16:42:53 |
Hacer readonly una columna en stringgrid | zcatzz | Varios | 5 | 26-09-2007 16:59:50 |
Como hacer una columna Acumulada en SQL | egarc | SQL | 14 | 21-09-2007 23:26:01 |
Como hacer esto a una columna de un cxgrid??? | AFilth | Varios | 0 | 22-11-2006 12:08:19 |
Como hacer invisible columna de Grid? | txuseibar | OOP | 4 | 10-10-2003 19:04:15 |
|