Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/01/2008, 10:58
Avatar de Andres95
Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años
Puntos: 38
Re: Problemas con el outer join

Requieres un left o un rigth outer join?
en el ejemplo agregue un left... con esto te trae todos los de la primera consulta (left) y aquellos que coincidan con las claves especificadas en la segunda (rigth)

Código:
SELECT *
FROM (SELECT Ano_Compro, Mes, Cta, SubCta, Analisis, SubAnalisis, Epigrafe, Partida, SUM(Debe) AS DEBE, SUM(Haber) AS HABER, Id_User, Id_AgrupacionRef, Id_Agrupacion
      FROM dbo.Temporal
      WHERE (Id_AgrupacionRef = '071') AND (Id_Agrupacion = '071')
GROUP BY Ano_Compro, Mes, Cta, SubCta, Analisis, SubAnalisis, Epigrafe, Partida, Id_User, Id_AgrupacionRef, Id_Agrupacion
HAVING (Ano_Compro = '2007') AND (Mes = '12') AND (Id_AgrupacionRef = '071') AND (Id_Agrupacion = '071')) AS Unidad 
Left outer join
(SELECT Ano_Compro, Mes, Cta, SubCta, Analisis, SubAnalisis, Epigrafe, Partida, SUM(Debe), SUM(Haber), Id_User, Id_AgrupacionRef, Id_Agrupacion
FROM Temporal
WHERE (Id_AgrupacionRef = '07' AND Id_Agrupacion = '071')
GROUP BY Ano_Compro, Mes, Cta, SubCta, Analisis, SubAnalisis, Epigrafe, Partida, Id_User, Id_AgrupacionRef, Id_Agrupacion
HAVING (Ano_Compro = '2007') AND (Mes = '12') AND (Id_AgrupacionRef = '071') AND (Id_Agrupacion = '07'))  AS Corporativo
ON Unidad.Cta = Corporativo.Cta

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.