
Ayuda para un select
Publicado por Daniel (8 intervenciones) el 18/12/2017 15:27:39
Hola al foro, hago una consulta, espero se entienda.
(TipoOperac < 100 son facturas, > 100 son pagos)
Cliente TipoOperac NroComprob Importe NroPago
15 02 345 120 0
15 05 345 100 0
15 10 345 500 0
Total de Factura 345 $ 720
Cliente TipoOperac NroComprob Importe NroPago
15 101 345 -500 12
15 102 345 -220 12
Total del pago $ 720
El objetivo es descomponer el TOTAL DEL PAGO y mostrar agrupado por TipoOperac que se usaron al confeccionar la factura. Lo tengo resuelto de esta manera cuando viene UN SOLO registro.
SELECT 'TOTALES POR TIPO DE OPERACION' AS NOMBRE, MOVIMIENTOS_1.TipoOperac,
CASE WHEN (MOVIMIENTOS_1.TipoOperac < 100) THEN SUM(MOVIMIENTOS_1.Importe) ELSE 0 END AS INGRESOS,
CASE WHEN (MOVIMIENTOS_1.TipoOperac > 100) THEN SUM(MOVIMIENTOS_1.Importe) ELSE 0 END AS EGRESOS
FROM MOVIMIENTOS INNER JOIN
MOVIMIENTOS AS MOVIMIENTOS_1 ON MOVIMIENTOS.Cliente = MOVIMIENTOS_1.Cliente AND
MOVIMIENTOS.NroComprob = MOVIMIENTOS_1.NroComprob
GROUP BY MOVIMIENTOS_1.TipoOperac
El tema es cuando de ese pago vienen dos registros (efectivo y tarjeta) me duplica los valores, supongo que primero tengo que agrupar el pago (sin importar la forma de pago) para que me quede un solo registro, luego si ir a ver la factura, alguna ayuda? Muchas gracias.
(TipoOperac < 100 son facturas, > 100 son pagos)
Cliente TipoOperac NroComprob Importe NroPago
15 02 345 120 0
15 05 345 100 0
15 10 345 500 0
Total de Factura 345 $ 720
Cliente TipoOperac NroComprob Importe NroPago
15 101 345 -500 12
15 102 345 -220 12
Total del pago $ 720
El objetivo es descomponer el TOTAL DEL PAGO y mostrar agrupado por TipoOperac que se usaron al confeccionar la factura. Lo tengo resuelto de esta manera cuando viene UN SOLO registro.
SELECT 'TOTALES POR TIPO DE OPERACION' AS NOMBRE, MOVIMIENTOS_1.TipoOperac,
CASE WHEN (MOVIMIENTOS_1.TipoOperac < 100) THEN SUM(MOVIMIENTOS_1.Importe) ELSE 0 END AS INGRESOS,
CASE WHEN (MOVIMIENTOS_1.TipoOperac > 100) THEN SUM(MOVIMIENTOS_1.Importe) ELSE 0 END AS EGRESOS
FROM MOVIMIENTOS INNER JOIN
MOVIMIENTOS AS MOVIMIENTOS_1 ON MOVIMIENTOS.Cliente = MOVIMIENTOS_1.Cliente AND
MOVIMIENTOS.NroComprob = MOVIMIENTOS_1.NroComprob
GROUP BY MOVIMIENTOS_1.TipoOperac
El tema es cuando de ese pago vienen dos registros (efectivo y tarjeta) me duplica los valores, supongo que primero tengo que agrupar el pago (sin importar la forma de pago) para que me quede un solo registro, luego si ir a ver la factura, alguna ayuda? Muchas gracias.
Valora esta pregunta


0