FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#5
|
|||
|
|||
3 uniones
Se me ocurre que podria ser de la siguiente manera:
SELECT M1.cod_cta, M1.est_fnz, SUM(M1.total_bs) AS total_bs FROM cbpmov01 M1 WHERE M1.est_fnz = '6160' AND M1.tipo NOT IN ('NC', 'ND') AND NOT EXISTS (Select M02.cod_cta from cbpmov02 M02 Where M02.cod_cta = M1.cod_cta and M02.est_fnz = M1.est_fnz) GROUP BY M1.cod_cta, M1.est_fnz UNION SELECT M2.cod_cta, M2.est_fnz, SUM(M2.total_bs) AS total_bs FROM cbpmov02 M2 WHERE M2.est_fnz = '6160' AND NOT EXISTS (Select M01.cod_cta from cbpmov01 M01 Where M01.cod_cta = M2.cod_cta and M01.est_fnz = M2.est_fnz) GROUP BY M2.cod_cta, M2.est_fnz UNION SELECT M1.cod_cta, M1.est_fnz, SUM(M1.total_bs + M2.total_bs) AS total_bs FROM cbpmov01 M1, cbpmov02 M2 WHERE M1.est_fnz = '6160' and M1.cod_cta = M2.cod_cta and M1.est_fnz = M2.est_fnz GROUP BY M2.cod_cta, M2.est_fnz Te explico: El primer select te va a traer todas las cuentas que estan unicamente en la tabla cbpmov01, el segundo select te va a traer solo las cuentas que estan en la tabla cbpmov02 y el tercer select te va a traer las cuentas que estan en ambas tablas agrupadas por cuenta y estado financiero (yo asumi que ambas son clave primarias, pero si no es asi, quedaria mas simple todavia). |
|
|
|