Ver Mensaje Individual
  #12 (permalink)  
Antiguo 03/02/2015, 13:09
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 9 meses
Puntos: 774
Respuesta: Agregar mas datos en una tabla

Hoy estoy de buenas :) asi que te lo explico con inserts y selects :)

Código SQL:
Ver original
  1. CREATE TABLE #proyectos(
  2. id INT,
  3. nombre VARCHAR(20)
  4. )
  5.  
  6. CREATE TABLE #proyecto_proyectista
  7. (
  8. id_proyecto INT,
  9. id_proyectista INT
  10. )
  11.  
  12. CREATE TABLE #proyectista(
  13. id INT,
  14. nombre VARCHAR(20)
  15. )
  16.  
  17. INSERT INTO #proyectos VALUES (1,'Proyecto 1')
  18. INSERT INTO #proyectos VALUES (2,'Proyecto 2')
  19. INSERT INTO #proyectos VALUES (3,'Proyecto 3')
  20.  
  21. INSERT INTO #proyecto_proyectista VALUES (1,1)
  22. INSERT INTO #proyecto_proyectista VALUES (1,2)
  23. INSERT INTO #proyecto_proyectista VALUES (1,3)
  24. INSERT INTO #proyecto_proyectista VALUES (2,1)
  25.  
  26. INSERT INTO #proyectista VALUES (1,'Libras')
  27. INSERT INTO #proyectista VALUES (2,'Libras2')
  28. INSERT INTO #proyectista VALUES (3,'Libras3')
  29.  
  30.  
  31. SELECT t3.* FROM #proyectos AS t1
  32. LEFT JOIN #proyecto_proyectista AS t2 ON (t1.id=t2.id_proyecto)
  33. LEFT JOIN #proyectista AS t3 ON (t2.id_proyectista=t3.id)
  34. WHERE t3.id IS NOT NULL AND t1.nombre='Proyecto 1'
  35. ---Regresa 3 proyectistas que estan en el proyecto 1 Libras1,Libras2 y Libras3
  36.  
  37.  
  38. SELECT t3.* FROM #proyectos AS t1
  39. LEFT JOIN #proyecto_proyectista AS t2 ON (t1.id=t2.id_proyecto)
  40. LEFT JOIN #proyectista AS t3 ON (t2.id_proyectista=t3.id)
  41. WHERE t3.id IS NOT NULL AND t1.nombre='Proyecto 2'
  42. --Regresa solo 1 proyectista que esta en el proyecto2 Libras1

Cabe mencionar que faltan las PK y sus respectivas FK :P
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me