Ver Mensaje Individual
  #5  
Antiguo 31-01-2005
lucianojdg lucianojdg is offline
Miembro
 
Registrado: dic 2003
Posts: 42
Reputación: 0
lucianojdg Va por buen camino
Smile 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).
Responder Con Cita