Un Select dentro de otro

24/05/2004 - 20:19 por Yovanny Rojas | Informe spam
Hola amigos como es la estructura de un select dentro de otro, tengo este q
me funciona bien y más abajo quiero agregar otro y me lanza error

este funciona bien
**************************************************
SELECT dbo.Partidas.par_codigo, COALESCE ([balance humedo].seco, 0) AS
seco, COALESCE ([balance humedo].consumo, 0) AS consumo,
COALESCE ([balance humedo].mojado, 0) AS mojado,
dbo.Balance_Partidas.par_balancehumedo,
dbo.Balance_Partidas_semanas.balance AS ant
FROM dbo.Partidas INNER JOIN
dbo.Balance_Partidas ON dbo.Partidas.par_codigo dbo.Balance_Partidas.par_codigo LEFT OUTER JOIN
(SELECT dbo.[balance humedo].par_codigo,
SUM(dbo.[balance humedo].seco) AS seco, SUM(dbo.[balance humedo].mojado) AS
mojado,
SUM(dbo.[balance
humedo].consumo) AS consumo
FROM dbo.[balance humedo]
WHERE dbo.[balance humedo].sem_codigo = 5
GROUP BY dbo.[balance humedo].par_codigo)
[balance humedo] ON dbo.Partidas.par_codigo = [balance humedo].par_codigo
WHERE (dbo.Balance_Partidas.par_balancehumedo > 0)
***********************************************************

Este no funciona donde quiero agregar otra sub-consulta filtrada

***********************************************************
SELECT dbo.Partidas.par_codigo, COALESCE ([balance humedo].seco, 0) AS
seco, COALESCE ([balance humedo].consumo, 0) AS consumo,
COALESCE ([balance humedo].mojado, 0) AS mojado,
dbo.Balance_Partidas.par_balancehumedo,
dbo.Balance_Partidas_semanas.balance AS ant
FROM dbo.Partidas INNER JOIN
dbo.Balance_Partidas ON dbo.Partidas.par_codigo dbo.Balance_Partidas.par_codigo LEFT OUTER JOIN
(SELECT dbo.[balance humedo].par_codigo,
SUM(dbo.[balance humedo].seco) AS seco, SUM(dbo.[balance humedo].mojado) AS
mojado,
SUM(dbo.[balance
humedo].consumo) AS consumo
FROM dbo.[balance humedo]
WHERE dbo.[balance humedo].sem_codigo = 5
GROUP BY dbo.[balance humedo].par_codigo)
[balance humedo] ON dbo.Partidas.par_codigo = [balance humedo].par_codigo
((SELECT dbo.[balance partidas
semanas].par_codigo, SUM(dbo.[balance partidas semanas].balance) AS ant
FROM dbo.[balance partidas semanas]
WHERE dbo.[balance partidas
semanas].sem_codigo = 4
GROUP BY dbo.[balance partidas
semanas].par_codigo) [balance partidas semanas] ON
dbo.Partidas.par_codigo = [balance partidas
semanas].par_codigo
WHERE (dbo.Balance_Partidas.par_balancehumedo > 0)
******************************************************************

No se bien como debe ser la estructura si alguien me puede ayudar

Gracias
Yovanny Rojas
 

Leer las respuestas

#1 Emilio Boucau
24/05/2004 - 20:32 | Informe spam
Hola,

la estructura de los sub queries la podes armar asi:

SELECT A.CAMPO_1, B.CAMPO_3
FROM TABLA_1 AS A
INNER JOIN ( SELECT CAMPO_1, CAMPO_3 FROM TABLA_2 ) AS B
ON A.CAMPO_1 = B.CAMPO_1


Saludos !

Emilio Boucau
Buenos Aires - Argentina
http://www.portalsql.com

Preguntas similares