Consultas sobre consultas

15/09/2004 - 12:37 por Fadoyo | Informe spam
hola a todos!

necesito hacer algo asi como esto:

select *
from[consulta1] , [consulta2]

es decir, una consulta sobre consultas.

Alguien me podría echar una mano? gracias

Preguntas similare

Leer las respuestas

#1 Lara
15/09/2004 - 13:22 | Informe spam
Hola!

A mí se me ocurren varias opciones. Una opción sería la de ponerle alias a
tus consultas, de tal forma que cada consulta fuera como una tabla:

Select * from (Select campo1, campo2, campoN from tabla1) Consulta1,
(Select campo1, campo2, ... campoN from tabla2) Consulta2
where Consulta1.campo1=Consulta2.campo and [condiciones...]

He supuesto que consulta1 y consulta2 se relacionan por algún campo (p.e:
campo1). Luego puedes poner las condiciones que necesites..


Otra opción, que hace lo mismo, pero te puede resultar más clara, (sobre
todo si tus subconsultas son muy grandes), podría ser la de crear por cada
consulta, una vista y luego hacer:

Select * from vista_consulta1, vista_consulta2 where
vista_consulta1.campo1=vista_consulta2.campo2


Espero que te sirva de ayuda.
Saludos!
Lara



"Fadoyo" escribió en el mensaje
news:
hola a todos!

necesito hacer algo asi como esto:

select *
from[consulta1] , [consulta2]

es decir, una consulta sobre consultas.

Alguien me podría echar una mano? gracias


Respuesta Responder a este mensaje
#2 Fadoyo
15/09/2004 - 14:02 | Informe spam
gracias, la primera solución es la que buscaba.
gracias de nuevo


"Lara" wrote in message
news:
Hola!

A mí se me ocurren varias opciones. Una opción sería la de ponerle alias a
tus consultas, de tal forma que cada consulta fuera como una tabla:

Select * from (Select campo1, campo2, campoN from tabla1) Consulta1,
(Select campo1, campo2, ... campoN from tabla2) Consulta2
where Consulta1.campo1=Consulta2.campo and [condiciones...]

He supuesto que consulta1 y consulta2 se relacionan por algún campo (p.e:
campo1). Luego puedes poner las condiciones que necesites..


Otra opción, que hace lo mismo, pero te puede resultar más clara, (sobre
todo si tus subconsultas son muy grandes), podría ser la de crear por


cada
consulta, una vista y luego hacer:

Select * from vista_consulta1, vista_consulta2 where
vista_consulta1.campo1=vista_consulta2.campo2


Espero que te sirva de ayuda.
Saludos!
Lara



"Fadoyo" escribió en el mensaje
news:
> hola a todos!
>
> necesito hacer algo asi como esto:
>
> select *
> from[consulta1] , [consulta2]
>
> es decir, una consulta sobre consultas.
>
> Alguien me podría echar una mano? gracias
>
>


Respuesta Responder a este mensaje
#3 Maxi
15/09/2004 - 14:29 | Informe spam
Lara, solo como comentario:

Yo usaria JOINS para unir las consultas y no Where ;-)


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Lara" escribió en el mensaje
news:
Hola!

A mí se me ocurren varias opciones. Una opción sería la de ponerle alias a
tus consultas, de tal forma que cada consulta fuera como una tabla:

Select * from (Select campo1, campo2, campoN from tabla1) Consulta1,
(Select campo1, campo2, ... campoN from tabla2) Consulta2
where Consulta1.campo1=Consulta2.campo and [condiciones...]

He supuesto que consulta1 y consulta2 se relacionan por algún campo (p.e:
campo1). Luego puedes poner las condiciones que necesites..


Otra opción, que hace lo mismo, pero te puede resultar más clara, (sobre
todo si tus subconsultas son muy grandes), podría ser la de crear por


cada
consulta, una vista y luego hacer:

Select * from vista_consulta1, vista_consulta2 where
vista_consulta1.campo1=vista_consulta2.campo2


Espero que te sirva de ayuda.
Saludos!
Lara



"Fadoyo" escribió en el mensaje
news:
> hola a todos!
>
> necesito hacer algo asi como esto:
>
> select *
> from[consulta1] , [consulta2]
>
> es decir, una consulta sobre consultas.
>
> Alguien me podría echar una mano? gracias
>
>







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.748 / Virus Database: 500 - Release Date: 01/09/2004
Respuesta Responder a este mensaje
#4 Lara
15/09/2004 - 14:58 | Informe spam
Se acepta el comentario ;-)


"Maxi" escribió en el mensaje
news:Oe3gk%
Lara, solo como comentario:

Yo usaria JOINS para unir las consultas y no Where ;-)


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Lara" escribió en el mensaje
news:
> Hola!
>
> A mí se me ocurren varias opciones. Una opción sería la de ponerle alias


a
> tus consultas, de tal forma que cada consulta fuera como una tabla:
>
> Select * from (Select campo1, campo2, campoN from tabla1)


Consulta1,
> (Select campo1, campo2, ... campoN from tabla2) Consulta2
> where Consulta1.campo1=Consulta2.campo and [condiciones...]
>
> He supuesto que consulta1 y consulta2 se relacionan por algún campo


(p.e:
> campo1). Luego puedes poner las condiciones que necesites..
>
>
> Otra opción, que hace lo mismo, pero te puede resultar más clara, (sobre
> todo si tus subconsultas son muy grandes), podría ser la de crear por
cada
> consulta, una vista y luego hacer:
>
> Select * from vista_consulta1, vista_consulta2 where
> vista_consulta1.campo1=vista_consulta2.campo2
>
>
> Espero que te sirva de ayuda.
> Saludos!
> Lara
>
>
>
> "Fadoyo" escribió en el mensaje
> news:
> > hola a todos!
> >
> > necesito hacer algo asi como esto:
> >
> > select *
> > from[consulta1] , [consulta2]
> >
> > es decir, una consulta sobre consultas.
> >
> > Alguien me podría echar una mano? gracias
> >
> >
>
>



Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.748 / Virus Database: 500 - Release Date: 01/09/2004


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida