problema con una consulta compleja

11/04/2007 - 17:54 por Sergio E. | Informe spam
Hola, estoy haciendo una consulta algo compleja que en esencia es como
sigue:

select c1.*, c2.*, c3.*,c4.* from
(select campos from tabla1 where condicion1) as c1 left join
(select campos from tabla1 where condicion2) as c2 on c1.clave=c2.clave left
join
(select campos from tabla1 where condicion3) as c3 on c1.clave=c3.clave left
join
(select campos from tabla1 where condicion4) as c4 on c1.clave=c4.clave
where ultimofiltro order by c1.campox

El detalle es que si el primer select no trae datos, no me muestra nada,
aunque yo se que el segundo y/o tercer select si tienen y el cuarto no
siempre trae,

El objetivo es consultar datos de una tabla, donde cada select from tabla1
me trae datos de un mes distinto, y quiero que se vean todos los campos uno
junto a otro de todos los selects..
por ejemplo

enero | febrero | marzo | abril
datos select1 | datos select2 | datos select3 | datos select4
venta1 prom1| venta2 prom2| venta3 prom3| venta3 prom4


¿Alguien me puede dar alguna sugerencia la respecto?

Saludos y gracias.
Sergio E.
DCE2005 - 2*
 

Leer las respuestas

#1 Pepe
11/04/2007 - 18:03 | Informe spam
Si haces Left joins es normal que no te muestre registros si la parte
izquiera ( primera Select ) no devuelve registros... yo empezaria revisando
como funciona y cuando te interesa utilizar LEFT , INNER y RIGHT JOIN y a
partir de ahi hacer la consulta correctamente...



"Sergio E." <gruporemp[ARROBA]hotmail.com> escribió en el mensaje
news:%
Hola, estoy haciendo una consulta algo compleja que en esencia es como
sigue:

select c1.*, c2.*, c3.*,c4.* from
(select campos from tabla1 where condicion1) as c1 left join
(select campos from tabla1 where condicion2) as c2 on c1.claveÂ.clave
left join
(select campos from tabla1 where condicion3) as c3 on c1.claveÃ.clave
left join
(select campos from tabla1 where condicion4) as c4 on c1.claveÄ.clave
where ultimofiltro order by c1.campox

El detalle es que si el primer select no trae datos, no me muestra nada,
aunque yo se que el segundo y/o tercer select si tienen y el cuarto no
siempre trae,

El objetivo es consultar datos de una tabla, donde cada select from tabla1
me trae datos de un mes distinto, y quiero que se vean todos los campos
uno junto a otro de todos los selects..
por ejemplo

enero | febrero | marzo | abril
datos select1 | datos select2 | datos select3 | datos select4
venta1 prom1| venta2 prom2| venta3 prom3| venta3 prom4


¿Alguien me puede dar alguna sugerencia la respecto?

Saludos y gracias.
Sergio E.
DCE2005 - 2*



Preguntas similares