Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Pesquisa MYSQL através de células com valores separados por vírgulas


Este é um sinal de design de banco de dados ruim, você deve primeiro examinar Normalização de banco de dados e se você puder alterar a estrutura, primeiro normalize-a usando uma tabela de junção, a partir de agora você pode usar FIND_IN_SET() para encontrar seu ID de registro correspondente na coluna de IDs separados por vírgula
SELECT * FROM table 
WHERE  FIND_IN_SET('id1',column) > 0
AND FIND_IN_SET('id2',column) > 0
AND FIND_IN_SET('id3',column) > 0

Altere o operador conforme seu desejo, mostrei o exemplo com o operador AND, observe que você precisa usar FIND_IN_SET quantas vezes o número de ids que você tem em sua matriz que você precisa comparar com sua coluna