FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Entonces suma el debe y el haber, si quieres agrupar por ellos, en caso contrario saldrá un registro por cada cifra distinta.
|
#2
|
|||
|
|||
Cita:
|
#3
|
||||
|
||||
Hola,
utiliza una store procedure. Creo que es la solución a tu problema. No recuerdo bien la sintaxis, pero hay abundante información. Saludos CREATE OR ALTER MI_PROCEDURE ( variables de entrada...) returns ( tu lista de campos incluyendo el saldo) variables para acumular y controlar el flujo FOR select bla bla bla into :v1, :v2, :v3 ordenado por lo que te de la gana do si se cumple la condicion sumo, si no reseteo acumulado hago el sumatorio de lo que quiero en base a la condicion que quiero... suspend end
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#4
|
||||
|
||||
Si entiendo bien, esta consulta lo resuelve:
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. |
#5
|
|||
|
|||
Ahora estoy probando modificar eso.
tuve que poner mytable.* en lugar de * solo al inicio y ahí larga algo, ahora veré que puedo hacer con eso Última edición por amadis fecha: 18-10-2019 a las 00:33:57. |
#6
|
|||
|
|||
Hola colegas, disculpen que tuve que ausentarme unos días.
El aporte del colega Mamcx responde lo que preguntaba y necesitaba a la perfección. Ahora unas consultas más para comprender, como funciona ésto. Lo que veo es una gran simplificación de la consulta original que había planteado sin resultados ¿esto es CTE? ¿que es lo que hacen Over y Partition? Gracias a todos y espero que esto ayude a muchos más |
#7
|
||||
|
||||
Hay buen material de esto. Mi primera exposición a lo nuevo en SQL fue:
https://modern-sql.com/video CTE es un poco mas dificil de entender, pero las funciones windows son mas simples. SQL funciona maso asi: Código PHP:
Código PHP:
__________________
El malabarista. |
#8
|
|||
|
|||
Muchas gracias por el material y el link del video. Comenzaré a estudiar modern-sql
Porque una vez comprendido ahora tiempo, dolores de cabeza y seguramente mejora la performance. |
|
|
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 |
|