Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-12-2005
erasmorc erasmorc is offline
Miembro
 
Registrado: ago 2004
Posts: 66
Poder: 20
erasmorc Va por buen camino
Como usar un select dentro de otro

Buenos dias,

La pregunta resumida es como relacionar un campo que esta contenido en el resultado de un select con otra tabla.

Tengo el siguiente problema tengo un select que me arroja unos resultado los cuales quiero utilizar para relacionar uno de los campos de ese resultado con otra tabla a travez de un join. como hacer el Join eso lo tengo bastante claro la pregunta es como utilizar el resultado del select que esta en esa misma sentencia. Las tablas y la base de datos son de SQL server 2000 y estoy usando el query analizer del mismo SQL.

Pienso que quizas con Queries anidados podria hacerlo pero no se como utilizarlos. Recuerden que el resultado del select no es una tabla fisica entonces eso es lo que no se como hacer tomar ese resultado del select o mejor dicho uno de sus campos para relacionarlo con otra tabla.

Si tienen algun link donde haya informacion, o algun ejemplo se los agradeceria, actualmente lo resolvi insertando ese resultado en otra tabla y haciendo la relacion a partir de ella, pero no es un metodo elegante ni profesional.

Gracias anticipadas.

Slds,
Neo, Rep. Dom.
Responder Con Cita
  #2  
Antiguo 13-12-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Código SQL [-]
 select Avg(Calif) as Prom
 from (select Puntos as Calif
          from Alum
          group by AlumID) Tabla --"Tabla" es un nombre temporal para tu subconsulta
 order by Prom

Código SQL [-]
select * 
from (select * from Tabla) temp
__________________

Responder Con Cita
  #3  
Antiguo 13-12-2005
erasmorc erasmorc is offline
Miembro
 
Registrado: ago 2004
Posts: 66
Poder: 20
erasmorc Va por buen camino
Buenos dias,


Lo siento pero no capte la idea

Slds,
FRC
Responder Con Cita
  #4  
Antiguo 13-12-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
¿Te referías a esto?
Código SQL [-]
Select *
from UnaTabla
where UnCampo=(Select X From OtraTabla)
__________________

Responder Con Cita
  #5  
Antiguo 13-12-2005
erasmorc erasmorc is offline
Miembro
 
Registrado: ago 2004
Posts: 66
Poder: 20
erasmorc Va por buen camino
Buenas tardes,

Te voy a explicar el tema completo


Tengo esto

Select EA1.awb,RE1.numero,EA1.hawb,RE1.fecha,CL2.empresa As Embarcador,RE1.Valor,CL1.empresa,EA1.awb,SUM(RP1.bultos) As Tbultos,
SUM(RP1.peso) As Tbruto,RE1.Tipo

From EMBARQUEAEREO as EA1

LEFT JOIN Recepcion as RE1 ON EA1.numero = RE1.embarque
LEFT JOIN RecepProductos as RP1 ON RE1.numero = RP1.numero
LEFT JOIN Clientes as CL1 ON RE1.consignatario = CL1.codigo
LEFT JOIN Clientes as CL2 ON RE1.embarcador = CL2.codigo

WHERE EA1.awb= :Pguia

group by EA1.awb,RE1.numero,EA1.hawb,RE1.fecha,CL2.empresa,RE1.Valor,CL1.empresa,EA1.awb,RE1.Tipo
Order By RE1.numero



como veras tengo columnas agregadas en ese select que son el resultado del SUM por lo cual no puedo incluir ahi un join que relaciones con otra tabla que tiene un campo descripcion que es tipo Text y estos campos no me lo permite colocarlos dentro del group by, entonces lo que he pensado es el resultado de ese query hacer el join por el campo correspondiente con la tabla que tiene las descripciones.

Saludos,
Neo.
Responder Con Cita
  #6  
Antiguo 13-12-2005
FOURIER FOURIER is offline
Miembro
 
Registrado: dic 2005
Posts: 40
Poder: 0
FOURIER Va por buen camino
Espero Te Sirva

Eso es lo que querías hacer con los Join, si tienes alguna duda mi correo es el originalfourier@hotmail.com

Select EA1.awb,RE1.numero,EA1.hawb,RE1.fecha,CL2.empresa As Embarcador,RE1.Valor,CL1.empresa,EA1.awb,(select SUM(RP1.bultos) from RecepProductos where RP1.numero=RE1.numero) As Tbultos,(select
SUM(RP1.peso) from RecepProductos where RP1.numero=RE1.numero) As Tbruto,RE1.Tipo From EMBARQUEAEREO as EA1,Recepcion as RE1, Clientes as CL1,Clientes as CL2
WHERE EA1.awb= :Pguia and EA1.numero = RE1.embarque and RE1.consignatario = CL1.codigo and RE1.embarcador = CL2.codigo
Order By RE1.numero;
Responder Con Cita
  #7  
Antiguo 14-12-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

A los dos ultimos foristas que publicaron, favor de utilizar las etiquetas Sql, mas informacion en los enlaces de mi firma
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:08:58.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi