Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Problemas con el outer join

Estas en el tema de Problemas con el outer join en el foro de SQL Server en Foros del Web. Hola todos: estoy haciendo una consulta en SQL Server donde necesito unir mediante un outer join 2 tablas que resultan cada una de consultas diferentes, ...
  #1 (permalink)  
Antiguo 21/01/2008, 09:59
 
Fecha de Ingreso: enero-2008
Mensajes: 5
Antigüedad: 17 años
Puntos: 1
Problemas con el outer join

Hola todos:

estoy haciendo una consulta en SQL Server donde necesito unir mediante un outer join 2 tablas que resultan cada una de consultas diferentes, es decir, hice una consulta que me devuelve una tabla e hice otra consulta que me devuelve otra tabla y necesito unir esas 2 tablas con un outer join mediante un campo, les pongo la consulta para que la vean pues como lo tengo hecho me da error:

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 OUTER JOIN
SELECT *
FROM (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

espero que alguien me ayude, muchas gracias de antemano
  #2 (permalink)  
Antiguo 21/01/2008, 10:58
Avatar de 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.
  #3 (permalink)  
Antiguo 21/01/2008, 12:11
 
Fecha de Ingreso: enero-2008
Mensajes: 5
Antigüedad: 17 años
Puntos: 1
Re: Problemas con el outer join

Gracias Andrés por tu respuesta pero realmente lo que necesito es un outer join solito porque necesito lo que no coincide de ambas tablas y eso me da error y no logro ver cual es.

Gracias nuevamente por tu ayuda.
Saludos

Gretel
  #4 (permalink)  
Antiguo 21/01/2008, 14:02
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años
Puntos: 38
Re: Problemas con el outer join

no será FULL OUTER JOIN ?
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:50.