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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-12-2005
erasmorc erasmorc is offline
Miembro
 
Registrado: ago 2004
Posts: 66
Poder: 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
 



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 01:13:47.


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