27/11/2014, 23:32
|
| | Fecha de Ingreso: noviembre-2014
Mensajes: 1
Antigüedad: 10 años Puntos: 0 | |
Suma y condiciones múltiples Hola Chicos, soy nuevo en el foro y tengo el siguiente dilema que no he podido resolver.
Tengo las siguientes Tablas:
Ejemplo:
TABLA: PAGOS
TIPO Monto ID--tipo99
C------10----1 ----ban1
C------10----1 ----ban1
A------10----1 ----ban1
C------10----1 ----ban2
A------10----1 ----ban2
A------10----1 ----ban2
Y la otra tabla seria:
tabla:DETALLE
tipo2_pagos------------Obser1 --------------obser2----------obser3 ----------obser4
ban2------------------pel-------------------hab------------rso----------------as6
ban1------------------pin--------------------sus------------rs1----------------as7
vop-----------------ades-------------------elim-----------rs2----------------as8
Realizo mi Query con suma y condiciones:
SELECT id,
SUM(CASE WHEN tipo = 'C' THEN monto ELSE 0 END) total_c,
SUM(CASE WHEN tipo = 'A' THEN monto ELSE 0 END) total_a
FROM pagos GROUP BY id
Resultado , Me suma los ID segun el criterio de tipo C y Tipo A.............
+------+---------+---------+
| id | total_c | total_a |
+------+---------+---------+
| 1 | 30 | 30 |
| 2 | 10 | 15 |
| 3 | 10 | 0 |
+------+---------+---------+
Pero aparte de los criterios que ya están, necesito que me los agrupe según la columna tipo99 de la tabla PAGOS y ademas me arroje las filas que tiene el tipo99 y ademas la resta de las dos sumas, como el siguiente ejemplo seria el resultado que busco......
Esto seria lo ando en busca.....
ID------TOTAL C-------------TOTAL A------SALDO(C-A)---------------tipo99----------------obser2---------obser3----------obser4-----------------Obser1
1----------20---------------10-------------10--------------------ban1-----------------hab------------rso---------------as6------------------pel
1----------10---------------20--------------(-10)----------------ban2------------------sus------------rs1---------------as7------------------pin
Osea que sume según el tipo99 que se encuentre en la tabla Detalle.
Ocupo Toad For Oracles.... I9
Saludos y Gracias. |