Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/11/2011, 12:14
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 18 años, 2 meses
Puntos: 447
Respuesta: No mostrar datos en la consulta

Hola Chispe:

Si entendí correctamente qué es lo que quiere hacer sería obtener todos los proyectos en donde intervengan tanto el usuario 1 como el usuario 5, pero no solo uno de ellos correcto???

Checa este script:

Código MySQL:
Ver original
  1. mysql> CREATE TABLE proyectos (idProyecto INT, descripcion VARCHAR(10));
  2. Query OK, 0 rows affected (0.11 sec)
  3.  
  4. mysql> INSERT INTO proyectos VALUES (1, 'uno'), (2, 'dos'), (3, 'tres'),
  5.     -> (4, 'cuatro'), (5, 'cinco');
  6. Query OK, 4 rows affected (0.06 sec)
  7. Records: 4  Duplicates: 0  Warnings: 0
  8. mysql> SELECT * FROM proyectos;
  9. +------------+-------------+
  10. | idProyecto | descripcion |
  11. +------------+-------------+
  12. |          1 | uno         |
  13. |          2 | dos         |
  14. |          3 | tres        |
  15. |          4 | cuatro      |
  16. |          5 | cinco       |
  17. +------------+-------------+
  18. 4 rows in set (0.00 sec)
  19.  
  20. mysql> CREATE TABLE proyecto_has_usuario (id INT,
  21.     -> Proyecto_idProyecto INT, Usuario_idUsuario INT);
  22. Query OK, 0 rows affected (0.12 sec)
  23.  
  24. mysql> INSERT INTO proyecto_has_usuario VALUES
  25.     -> (1, 1, 1),(2, 1, 5),(3, 2, 1),(4, 3, 5),
  26.     -> (5, 4, 1),(6, 4, 5),(7, 4, 6),(8, 5, 1),
  27.     -> (9, 5, 6),(10, 5, 7);
  28. Query OK, 10 rows affected (0.03 sec)
  29. Records: 10  Duplicates: 0  Warnings: 0
  30.  
  31. mysql> SELECT * FROM proyecto_has_usuario;
  32. +------+---------------------+-------------------+
  33. | id   | Proyecto_idProyecto | Usuario_idUsuario |
  34. +------+---------------------+-------------------+
  35. |    1 |                   1 |                 1 |
  36. |    2 |                   1 |                 5 |
  37. |    3 |                   2 |                 1 |
  38. |    4 |                   3 |                 5 |
  39. |    5 |                   4 |                 1 |
  40. |    6 |                   4 |                 5 |
  41. |    7 |                   4 |                 6 |
  42. |    8 |                   5 |                 1 |
  43. |    9 |                   5 |                 6 |
  44. |   10 |                   5 |                 7 |
  45. +------+---------------------+-------------------+
  46. 10 rows in set (0.00 sec)
  47.  
  48. mysql> SELECT Proyecto_idProyecto
  49.     -> FROM proyecto_has_usuario pu
  50.     -> WHERE pu.Usuario_idUsuario IN (1,5)
  51.     -> GROUP BY Proyecto_idProyecto
  52.     -> HAVING COUNT(*) >= 2;
  53. +---------------------+
  54. | Proyecto_idProyecto |
  55. +---------------------+
  56. |                   1 |
  57. |                   4 |
  58. +---------------------+
  59. 2 rows in set (0.00 sec)

Observa que en el proyecto 2 sólo participa el usuario 1, en el proyecto 3 sólo participa el usuario 5, en el proyecto 5 participa el usuario 1 y otros usuarios, pero no el usuario 5... sólo en los proyectos 1 y 4 participan ambos.

Saludos
Leo.