SQL - Obtener facturas impagas

 
Vista:
sin imagen de perfil

Obtener facturas impagas

Publicado por Daniel (39 intervenciones) el 23/08/2014 22:26:10
Hola, hago una consulta, a ver si me explico, tengo una tabla MOVIMIENTOS (fecha, cuenta, comprobante, tipomov, total, compro_canc) el campo "tipomov" indica si es 20=factura o 70=pago, el campo "total" es positivo cuando es factura y es negativo cuando es un pago, el campo compro_canc es el mismo al comprobante en caso de factura, y en los pagos hace referencia al nro de comprobante de la factura que paga.
lo que quiero obtener es
Cuenta, Fecha, Comprobante, Total (de aquellas facturas que no registren pagos o cuyo saldo sería mayor a 0).

ejemplo si en la BD tengo
cuenta; fecha; comprobante; tipomov; total; compro_canc
102; 01/08/2014; 345; 20; 1500; 345
102; 17/08/2014; 3512; 70; -1500; 345
105; 01/08/2014; 346; 20; 800; 346
117; 01/08/2014; 347; 20; 900; 347
117; 06/08/2014; 3511; 70; -700; 347

el resultado de la consulta tendría que quedar así
105; 01/08/2014; 346; 800
117; 01/08/2014; 347; 200

Muchas gracias por la 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
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Obtener facturas impagas

Publicado por Isaias (1921 intervenciones) el 24/08/2014 01:44:33
Todo bien, ¿En que motor de base de datos?, ¿Que avance llevas de tu query?
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
sin imagen de perfil

Obtener facturas impagas

Publicado por Daniel (39 intervenciones) el 25/08/2014 20:53:56
SQL Server 2000, tengo avanzada la consulta, agrupo con sum(Total) pero se me complica con las fechas, ya que al agrupar por fecha, me desparrama la fecha de la factura con la fecha del pago.
gracias Isaias
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
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Obtener facturas impagas

Publicado por Isaias (1921 intervenciones) el 25/08/2014 23:29:01
Como tu tabla es de MOVIMIENTOS, necesitas primero "sacar" a todos aquellos comprobantes


SELECT * FROM MOVIMIENTOS WHERE COMPROBANTE = COMP_CANC

Eso te dara el grupo de ABONOS, despues, debes aplicar la suma agrupada por aquellos movimientos que sean diferentes en dichos documentos

SELECT * FROM MOVIMIENTOS WHERE COMPROBANTE <> COMP_CANC

Esto te dara las FACTURAS

Teniendo AMBOS GRUPOS, solo es una cuestion de "coser y planchar", o sea, aplicar saldos, ¿cierto?
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
sin imagen de perfil

Obtener facturas impagas

Publicado por Daniel (39 intervenciones) el 25/08/2014 23:40:18
mmm, hay algo que no entiendo, yo pensé que con una sola consulta, usando SUM, GROUP BY o UNION podía hacer todo, o con una subconsulta, el tema es que no me doy cuenta ... o sea, no entiendo eso de "coser y planchar" disculpame Isaias.
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
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Obtener facturas impagas

Publicado por Isaias (1921 intervenciones) el 27/08/2014 21:51:49
Perdón, anduve en otras cosas

Si, lo puedes hacer con un SOLO QUERY, solo te mostré que deberías generar DOS GRUPOS de información, esa es la "base" para resolver tu problema.

Lo de "coser y planchar", es un dicho muy mexicano, para cuando alguien te da una buena guia, lo demás, esta casi resuelto
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