FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
SQL sumar iniciando con valor del renglon anterior
Que tal a todos, tengo tiempo tratando de hacer un reporte de historico de saldos de clientes, o sea es algo como esto:
CLIENTE FECHA MOVIMIENTO CARGO ABONO SALDO 1 01/01/09 NOTA 1500 0 1500<--Saldo renglon anterior+cargo-abono 1 03/01/08 PAGO NOTA 0 500 1000<--Saldo renglon anterior+cargo-abono 1 09/01/08 PAGO NOTA 0 900 100<--Saldo renglon anterior+cargo-abono ya tengo el reporte con las primeras 5 columnas pero no se como hacer para la columna de saldo ya que este valor entra como campo inicial del renglon siguiente, alguien tiene alguna solucion, de antemando agradezco su atencion. Última edición por agova fecha: 22-01-2009 a las 15:53:21. |
#2
|
||||
|
||||
Cita:
Podrías usar un cursor que en una tabla temporal te genere los saldos progresivos en una tabla temporal. Tu consulta la unes con la temporal amarrando por la fecha. Se me ocurre a botepronto que esa sería una solución. saludos.
__________________
Conoce mi blog http://www.edgartec.com |
#3
|
|||
|
|||
suena bien tu propuesta yo creo que pueda funcionar pero el cursor como se utiliza?, y seria por fecha y tipo de movimiento(Nota, Pago,Etc) por que si es solo por fecha, existen dias en que se registran varios movimientos.
|
#4
|
||||
|
||||
Ok, Primero lo que debes hacer es obtener los sumarios por Dia.
Luego ese sumario lo recorres con el cursor grabando los acumulados en una tabla temporal teniendo entonces la columna Fecha, Sumario, Acumulado X X X Y Y X + Y Z Z X + Y + Z Luego a tu consulta la unes con esta tabla temporal y obtienes lo que necesitas. Saludos
__________________
Conoce mi blog http://www.edgartec.com |
#5
|
|||
|
|||
podria ser un subselect con la fecha anterior algo asi como:
es un ejemplo simple, pero a lo mejor sirve como guia... |
#6
|
||||
|
||||
Cita:
Es de hecho totalmente correcta esa solución, la única desventaja es que esa es una consulta sumamente costosa.
__________________
Conoce mi blog http://www.edgartec.com |
#7
|
|||
|
|||
gracias a ambos por su respuesta, estoy tratando de implementar la tuya poliburro, pero podrias explicarme un poco mas como se usan los cursores que nunca he utilizado alguno, cabe mencionar que estoy usando bases de datos en access y acceso por medio de ODBC´s
|
#8
|
|||
|
|||
Que tal luisgutierrezb, ya probe tu propuesta y si funciona, pero no es viable ya que en los primeros renglones todo bien, el problema empieza cuando recorro la consulta a los registros superirores funciona de la misma forma que con campos calculados, hace el calculo conforme va desplegando los valores y el numero de subconsultas que tiene que realizar aumenta exponencialmente y no termina, ya habia probado la posibilidad de hacerlo por medio de campos calculados pero como te digo tampoco es viable, lo que me queda es hacerlo por medio de cursores, como dice poliburro, el detalle es que nunca los he utilizado, si alguien sabe y me puede guiar se los agradecere. Si algo encuentro los mantendre al tanto.
|
#9
|
||||
|
||||
¿ qué motor de BBDD utilizas ?
Con interbase, firebird, sqlserver, ... se puede hacer un procedimiento almacenado que te permite realizar lo que tú propones sin que se dispare el rendimiento. Saluds
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#10
|
|||
|
|||
que tal fjcg02, estoy manejando para esta aplicacion una BD en access es de lo mas pobre, generalmente manejo postgresql pero para esta aplicacion decidi usar access 97 por la misma naturaleza de la aplicacion.
|
#11
|
||||
|
||||
Cita:
El problema amigo es que los cursores no están disponibles en Access97. Otra posible solución es que agreges un campo calculado a tu AdoQuery y allí vayas generando el acumulado. Saludos.
__________________
Conoce mi blog http://www.edgartec.com |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
añadir un renglón a un dbgrid | olybola | Varios | 8 | 07-06-2010 21:23:15 |
sumar el valor de un edit a un campo de tabla | josi | Varios | 4 | 12-01-2009 20:36:45 |
Renglon seleccionado en DBGRID | advancexz | Gráficos | 1 | 28-06-2008 00:53:45 |
¿Como sumar un valor de un edit y reflejar incremento en el mismo? | The_Animal | Varios | 3 | 31-12-2007 01:12:48 |
agregar un renglón al dbgrid | olybola | Conexión con bases de datos | 1 | 26-06-2003 20:58:03 |
|