Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/01/2012, 16:05
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Problema con una consulta para recuperar datos

Hola elalmacen60:

Hay varias formas para abordar este problema, y se ha tratado muchas veces en el foro... te recomiendo que para la próxima vez te tomes unos segundos para buscar en el foro a ver das con alguna solución previa y así evitar temas duplicados.

Checa este script:

Código MySQL:
Ver original
  1. mysql> CREATE TABLE calidad_centro (id INT, id_calidad INT, id_centro INT);
  2. Query OK, 0 rows affected (0.17 sec)
  3.  
  4. mysql> INSERT INTO calidad_centro VALUES (1, 1, 1),(2, 2, 1),
  5.     -> (3, 1, 2),(4, 3, 2),(5, 1, 3),(6, 2, 3),(7, 3, 3), (8, 1, 4);
  6. Query OK, 8 rows affected (0.03 sec)
  7. Records: 8  Duplicates: 0  Warnings: 0
  8.  
  9. mysql> SELECT * FROM calidad_centro;
  10. +------+------------+-----------+
  11. | id   | id_calidad | id_centro |
  12. +------+------------+-----------+
  13. |    1 |          1 |         1 |
  14. |    2 |          2 |         1 |
  15. |    3 |          1 |         2 |
  16. |    4 |          3 |         2 |
  17. |    5 |          1 |         3 |
  18. |    6 |          2 |         3 |
  19. |    7 |          3 |         3 |
  20. |    8 |          1 |         4 |
  21. +------+------------+-----------+
  22. 8 rows in set (0.00 sec)
  23.  
  24. mysql> SELECT id_centro, COUNT(*) FROM calidad_centro CC
  25.     -> WHERE id_calidad IN (1, 2)
  26.     -> GROUP BY id_centro
  27.     -> HAVING COUNT(*) > 1;
  28. +-----------+----------+
  29. | id_centro | COUNT(*) |
  30. +-----------+----------+
  31. |         1 |        2 |
  32. |         3 |        2 |
  33. +-----------+----------+
  34. 2 rows in set (0.00 sec)

Observa que los centros 1 y 3 son los únicos que tienen registradas las calidades 1 y 2... En el caso del centro 3 además de las dos calidades deseadas (1 y 2) posé una calidad adicional.

Para el caso del centro 2 a pesar que tiene dos registros en la tabla relación, solo uno de ellos corresponde a unas de las calidades, la calidad 3 no se contabiliza. para el caso del centro 4 este tampoco posee las dos calidades deseadas.

Dale un vistazo al código y si continuas con dudas utiliza la herramienta de búsqueda del foro y o preguntale a San GOOGLE, estoy seguro que te ayudará a encontrar la respuesta.

Saludos
Leo.