Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/11/2012, 16:01
Avatar de zeliq
zeliq
 
Fecha de Ingreso: noviembre-2012
Ubicación: Barcelona
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 3
Respuesta: primera consulta en SQL

A mí esto me funciona:

Código MySQL:
Ver original
  1. mysql> select * from concierto;
  2. +-------------+-----------------+-----------------+
  3. | idconcierto | nombreConcierto | codigo_director |
  4. +-------------+-----------------+-----------------+
  5. |           1 | Bach            |               1 |
  6. |           2 | Beethoven       |               2 |
  7. |           3 | Mozart          |               1 |
  8. |           4 | Bartok          |               3 |
  9. +-------------+-----------------+-----------------+
  10. 4 rows in set (0.00 sec)
  11.  
  12. mysql> select * from aula_clasica;
  13. +----+--------+
  14. | id | codigo |
  15. +----+--------+
  16. |  1 |      1 |
  17. |  2 |      2 |
  18. +----+--------+
  19. 2 rows in set (0.00 sec)
  20.  
  21. mysql> select * from aula_teatro;
  22. +----+--------+
  23. | id | codigo |
  24. +----+--------+
  25. |  1 |      3 |
  26. |  2 |      4 |
  27. |  3 |      1 |
  28. +----+--------+
  29. 3 rows in set (0.00 sec)
  30.  
  31. mysql> SELECT codigo_director
  32.     -> FROM concierto
  33.     -> WHERE codigo_director IN (SELECT codigo FROM aula_clasica)
  34.     -> AND codigo_director IN (SELECT codigo FROM aula_teatro);
  35. +-----------------+
  36. | codigo_director |
  37. +-----------------+
  38. |               1 |
  39. |               1 |
  40. +-----------------+
  41. 2 rows in set (0.00 sec)

Otra cosa es que:
- Para que codigo_director no tenga repetidos en la consulta habría que añadir un GROUP BY o un DISTINCT
- Se supone que existe una tabla de directores
- Las tablas aula_clasica y aula_teatro parecen tablas de relación varios a varios (y no tienen mucho sentido si no hay más campos que los que yo he puesto)
- Es un error de diseño, seguramente grave, llamar codigo al campo que contiene el código de director en las tablas aula_clasica y aula_teatro

Pero funcionar, funciona.