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

Preguntas similare

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
Respuesta Responder a este mensaje
#2 Javier Loria
25/05/2004 - 01:34 | Informe spam
Hola:
Ayuda mucho indentar el codigo para saber lo que esta pasando pero claro
en el News sedesordena todo.
En todo caso ANTES del ultimo SELECT hace falta el INNER JOIN o LEFT JOIN.
dbo.Partidas.par_codigo = [balance
humedo].par_codigo -->>JOIN <<--((SELECT dbo.[balance partidas
semanas].par_codigo, SUM(dbo.[balance partidas semanas].balance) AS
ant FROM dbo.[balance partidas
semanas] WHERE dbo.[balance partidas


Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Yovanny Rojas escribio:
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
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida