SQL - registrar saldos

   
Vista:

registrar saldos

Publicado por HUGO (27 intervenciones) el 06/01/2011 23:49:46
Hola amigos, tengan ustedes muy buen dia

Quisiera que alguien me ayude con lo siguiente:
tengo una tabla en la cual se registran todos los movimientos de mis proveedores (cargos y abonos).
El asunto es que necesito registrar en otra tabla que contiene solo el id del proveedor y una columna para los saldos;
¿Como puedo hacer esto?

Saludos y gracias por su ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:registrar saldos

Publicado por Leonardo Josué (880 intervenciones) el 07/01/2011 16:10:13
Buenos días Hugo:

Con respecto a tu pregunta, sí se puede obtener lo que pretendes, el ¿CÓMO?dependería de la estructura de tus datos y cómo tengas almacenada tu información. Básicamente lo que tendrías que hacer es que agrupar todos tus registros por el id del proveedor y hacer una diferencia de sumas, es decir, por un lado habría que obtener la sumatoria de todos los cargos y por otro lado la sumatoria de todos los abonos. La diferencia de estas sumatorias sería el saldo del Proveedor.

Si quieres algo más de ayuda de sugiero que comiences por colocar la estructura de tus tablas así como algunos datos de ejemplo. También deberías mostrar algo de avance, es decir alguna consulta en la que estés trabajando para ayudarte a afinarla. Finalmente podrías mencionar qué manejador de BD estás utilizando, pues hay pequeñas diferencias en sintaxis entre cada uno de ellos.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:registrar saldos

Publicado por HUGO (27 intervenciones) el 12/01/2011 18:39:21
Muchas gracias Leo
Hasta hoy tuve tiempo de checar este asunto

Para tu informacion yo utilizo visual fox pro
Con respecto a este asunto, tengo una tabla (REGISTRO_PROV) en la cual doy ingreso a la informacion correspondiente a la cuenta de cada proveedor
Los datos que contiene basicamente la tabla son
fecha, id del proveedor, No. documento, Cargos, Abonos

tengo otra tabla (SALDO_PROVEEDORES) que contiene solamente el id del proveedor y el saldo

Intente hacer lo siguiente

UPDATE SALDO_PROVEEDORES SET SALDO =(;
SELEC SUM(CARGO)-SUM(ABONO);
FROM REGISTRO_PROV;
WHERE PROVID = saldo_proveedores.PROVID)

Pero no me funciona

Lo raro es que la primera vez si me funcionó en todos los casos, luego solamente me reemplaza 3 datos unicamente y debieran ser mas

Si necesitas mas datos avisame por favor

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:registrar saldos

Publicado por Leonardo Josué (880 intervenciones) el 12/01/2011 19:35:40
Hola de nuevo Hugo. No he tenido la oportunidad de trabajar con Visual Fox Pro, por lo que no estoy seguro de que esto sea válido. El problema creo que es porque no estás agrupando en ningún momento tus registros, intenta hacer algo como esto a ver si te funciona.

update SALDO_PROVEEDORES set SALDO = (
select sum(CARGOS) - sum(ABONOS)
from REGISTRO_PROV
where SALDO_PROVEEDORES.PROVID= REGISTRO_PROV.PROVID
group by REGISTRO_PROV.PROVID)

Por otro lado es muy raro que una consulta te funciones una vez y después ya no... a menos que hagas algún cambio en las estructuras de las tablas, pues una consulta debería de comportarse siempre de la misma manera. Revisa que no exista algún TRIGGER o CONSTRAINT que pueda estar afectando tus tablas.

Saludos y espero que te sea de ayuda el código
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:registrar saldos

Publicado por HUGO (27 intervenciones) el 13/01/2011 20:01:01
Buen dia Leo
Gracias por tu respuesta
Te comento que despues de leer tu comentario, se me ocurrio que podrian ser los indices los que me estaban afectando y en efecto eso era; borre los indices y los volvi a crear y ya.

Te agradezco mucho tu ayuda

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar