Suma Filas
Publicado por Franz (9 intervenciones) el 17/11/2021 22:27:34
Hola, espero me puedan ayudar.
Tengo una tabla con facturas y pagos. Las facturas el ERP las muestra en cantidades positivas y los pagos en cantidades negativas. Sin embargo en la base de datos todas las cantidades las muestra en positivos.
Necesito sumar las facturas y pagos con mismo ID para encontrar la diferencia, pero no logro sumar y al mismo tiempo pasar a negativo los pagos para que el resultado sea la diferencia de ambos.
Ejemplo:
ID---------- Monto --------- Tipo ---------- Total
3476------ 230 ------------- Factura ----- 0
3476 ----- 230 ------------- Pago -------- 0
7856 ----- 100 ------------- Factura ------ 20
7856 ----- 80 -------------- Pago --------- 20
A mi me da asi:
ID---------- Monto --------- Tipo ---------- Total
3476------ 230 ------------- Factura ----- 460
3476 ----- 230 ------------- Pago -------- 460
7856 ----- 100 ------------- Factura ------ 180
7856 ----- 80 -------------- Pago --------- 180
Tengo este codigo:
SELECT ID, MONTO, TIPO,
SUM(CASE WHEN (TIPO = 'F') THEN MONTO END + CASE WHEN (ARI.TYPE = 'P') THEN MONTO * -1 END)
OVER (PARTITION BY ID) AS 'TOTAL'
FROM TABLAPAGOS
Muchas gracias de antemano.
Tengo una tabla con facturas y pagos. Las facturas el ERP las muestra en cantidades positivas y los pagos en cantidades negativas. Sin embargo en la base de datos todas las cantidades las muestra en positivos.
Necesito sumar las facturas y pagos con mismo ID para encontrar la diferencia, pero no logro sumar y al mismo tiempo pasar a negativo los pagos para que el resultado sea la diferencia de ambos.
Ejemplo:
ID---------- Monto --------- Tipo ---------- Total
3476------ 230 ------------- Factura ----- 0
3476 ----- 230 ------------- Pago -------- 0
7856 ----- 100 ------------- Factura ------ 20
7856 ----- 80 -------------- Pago --------- 20
A mi me da asi:
ID---------- Monto --------- Tipo ---------- Total
3476------ 230 ------------- Factura ----- 460
3476 ----- 230 ------------- Pago -------- 460
7856 ----- 100 ------------- Factura ------ 180
7856 ----- 80 -------------- Pago --------- 180
Tengo este codigo:
SELECT ID, MONTO, TIPO,
SUM(CASE WHEN (TIPO = 'F') THEN MONTO END + CASE WHEN (ARI.TYPE = 'P') THEN MONTO * -1 END)
OVER (PARTITION BY ID) AS 'TOTAL'
FROM TABLAPAGOS
Muchas gracias de antemano.
Valora esta pregunta


0