sql >> Base de Datos >  >> RDS >> Mysql

Búsqueda MYSQL a través de celdas con valores separados por comas

Esta es una señal de un mal diseño de base de datos que primero debe buscar en Normalización de base de datos y si puede cambiar la estructura, primero normalícela usando una tabla de unión. A partir de ahora, puede usar FIND_IN_SET() para encontrar su identificación de registro correspondiente en su columna de identificaciones separadas por comas

SELECT * FROM table 
WHERE  FIND_IN_SET('id1',column) > 0
AND FIND_IN_SET('id2',column) > 0
AND FIND_IN_SET('id3',column) > 0

Cambie el operador según su deseo. He mostrado un ejemplo con el operador AND, tenga en cuenta que debe usar FIND_IN_SET tantas veces como el número de ID que tiene en su matriz que necesita comparar con su columna