Ver Mensaje Individual
  #1  
Antiguo 14-12-2005
erasmorc erasmorc is offline
Miembro
 
Registrado: ago 2004
Posts: 66
Reputación: 20
erasmorc Va por buen camino
Query un poco complicado

Buenas tardes,

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.


El problema que tengo no es con los join en realidad, ese tema lo manejo mas o menos bien, mi problema es como puedo usar el resultado que me da un query para relacionarlo con otra tabla.

por ejemplo :

Tabla1
codigo Char
nombre Char
sueldo Float
codigocomentario Char

Tabla2
codigo Char (relacion con tabla1.codigo)
descuento

Tabla3 (contiene comenatarios)
codigo Char (relacion con tabla1.codigocomentario)
descripcion Text



Select T1.codigo,T1.nombre,T1.sueldo,T1.codigocomentario, SUM(T2.descuento) As descuento
From Tabla1 as T1

LEFT JOIN Tabla2 As T2 ON T1.codigo = T2.codigo
WHERE T1.codigo= num
Group by T1.codigo,T1.nombre,T1.sueldo,T1.codigocomentario

Order By T1.codigo

Hasta ahi todo va bien, pero yo necesitaba en ese select la descripcion que contiene la tabla Tabla3 pero no puedo agregarla ya que tiene el campo descripcion tipo Text por lo cual no puedo tenerla en el Group by, que pasa lo que he pensado es el resultado de ese query que esta arriba utilizarlo para hacer en otro select un join con la tabla a traves de los campos T1.codigocomentario ( que estaria incluido en el resultado del primer select) y el campo T3.codigo.

Actualmente lo que hago es que el resultdo del primer select lo inserto en una tabla y entonces hago el join con la tabla Tabla3, pero este metodo no es el mas recomendado.

Estas tablas que estoy presentando no son las reales de la problematica pero reflejan lo que quiero hacer.

Si tienes un manual que contenga de forma detallada como trabajar con select anidados y me lo puedes facilitar te lo voy a agradecer mucho, o algun ejemplo que me ayude en el tema.

Slds,
Neo
Responder Con Cita