Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-05-2007
Avatar de Albano
Albano Albano is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nogales, Sonora, Mexico
Posts: 422
Poder: 20
Albano Va por buen camino
Consulta anidada complicada

Hola a todos! que tenga un buen dia, Dios les bendiga.
Tengo que realizar la siguiente consulta en mi base de datos:
Cita:
Lista de empleados y los proyectos en los que trabajan
a simple vista parece algo muy sencillo, pero soy novato en esto y no se si me esté haciendo bolas de oque. Les voy a explicar lo que hice.
Tengo 4 tablas en mi base de datos:
  • departamento
  • empleados (datos de los empleados: numero, nombre, apellido, depto, etc)
  • proyecto (datos de los proyectos: numero, nombre, descripción, etc)
  • trabajos (relación de empleados con los proyectos: num_emp, num_pro) (esta es para saber qué empleado esta participando en qué proyecto)
Para esta consulta usaría tres de esas tablas: empleados, proyecto y trabajos.
Con una consulta como la siguiente:
Código SQL [-]
select * from trabajos order by num_emp
me arroja lo que necesito en claves, clave del empleado y clave del proyecto, pero los necesito con sus nombres, nombre del empleado, apellido del empleado y nombre del proyecto. Como lo puedo hacer?
Pensé en la siguiente instrucción:
Código SQL [-]
select nombre, apellido
from empleados
where numero in
(select num_emp 
from trabajos
order by num_emp);
Pero no es suficiente por dos razones: me faltan los datos del proyecto y solo aparece una vez cada empleado aunque participe en 2 o 3 proyectos.
Que tengo que hacer?
__________________
"Sé de tal manera y vive una vida tal, que si todos los hombres fueran como tú y vivieran como tú, nuestro mundo sería un paraíso terrenal"
Siempre hazlo con la ayuda de Dios
Responder Con Cita
  #2  
Antiguo 11-05-2007
Avatar de Albano
Albano Albano is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nogales, Sonora, Mexico
Posts: 422
Poder: 20
Albano Va por buen camino
Problema resuelto!!!

Me estaba complicando de oque, como les había dicho que sospechaba en el mensaje anterior... aqui esta la solución a mi problema:
Código SQL [-]
select empleados.nombre, apellido, proyecto.nombre, depto
from empleados, proyecto, trabajos
where empleados.numero = num_emp and proyecto.numero = num_pro
order by depto, empleados.nombre, apellido;
me faltaba mencionar la parte del order by, pero eso sí sabía hacerlo.
Pues gracias a los que prestaron interés.
__________________
"Sé de tal manera y vive una vida tal, que si todos los hombres fueran como tú y vivieran como tú, nuestro mundo sería un paraíso terrenal"
Siempre hazlo con la ayuda de Dios
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consulta Anidada farrop SQL 1 04-07-2006 19:28:06
Consulta anidada Malon SQL 5 07-05-2004 17:58:45
Consulta anidada fjcg02 SQL 6 05-02-2004 08:47:58
consulta anidada pzala SQL 2 14-12-2003 22:43:16
consulta sql anidada davidgaldo SQL 2 13-11-2003 14:42:00


La franja horaria es GMT +2. Ahora son las 04:32:00.


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