В таблице хранится строка вида '1,2,10,12,30'. Здесь прописываются группы пользователя. Как проверить подходит ли данная группа этому пользователю? Например группа 1 должна подходить для '1,2,11' но не для '11,21', поэтому LIKE не подходит. Какие еще есть варианты? 11 IN(uedb_specializations) работает,только если строка начинается с данного числа.
Самое правильное решение - завести таблицу `groups' и там хранить все группы отдельно. Тогда решение становится элементарным.
Неправильное решение обрамить строку запятыми и использовать LIKE
SELECT * FROM mytable WHERE CONCAT(',', groups, ',') LIKE '%,1,%'
Это будет работать медленно и печально. Заведите дополнительную таблицу USER_GROUPS. В ней должны быть колонки
ID | ID_USER | ID_GROUP
Потом посадите на нее уникальный индекс по полям ID_USER, ID_GROUP и все у вас будет шикарно работать.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости