Estoy tratando de seleccionar elementos de una tabla asociativa que han satisfecho dos o más valores del mismo campo, suena confuso, permítame explicarlo.MySQL Seleccione las identificaciones que se producen en diferentes filas con múltiples valores específicos para una columna
+-----------------------+
| item_id | category_id |
+-----------------------+
| 1 | 200 |
| 1 | 201 |
| 1 | 202 |
| 2 | 201 |
| 2 | 202 |
| 3 | 202 |
| 3 | 203 |
| 4 | 201 |
| 4 | 207 |
+-----------------------+
En la tabla, quiero poder seleccionar solo los elementos que están en las categorías que paso. Entonces, por ejemplo, si paso las ID de categoría 201 y 202, solo quiero elementos que estén en AMBAS categorías (pueden tener otras categorías pero deben estar en al menos las categorías que estoy consultando), entonces en este caso, me gustaría que los puntos 1 y 2 solamente, ya que son los únicos que se encuentran en las categorías 201 y 202.
Mi declaración inicial de SQL era algo así como
SELECT * FROM item_category WHERE category_id = 201 AND category_id = 202;
Pero obviamente eso no funcionará.
SELECT * FROM item_category WHERE category_id = 201 OR category_id = 202;
La consulta anterior tampoco funcionará porque devolverá los elementos 4 y 3 también.
Entonces, ¿cómo podría hacer para seleccionar únicamente elementos que al menos deben estar en ambas categorías?
Tenga en cuenta que podría estar pasando más de 2 identificaciones de categoría.
Gracias por su ayuda.
Gracias, la segunda consulta parece ser más adecuado en este caso y parece que funciona bien! ¡Gracias de nuevo! – flicker