Полевые редакторы value '3,2,4'
SQL заявление
SELECT * FROM `table` where '3' in (editors)
результат 1 строка = правильно
SELECT * FROM `table` where '2' in (editors)
результат 0 строка = не правильно.
Я предполагаю value '3,2,4'
трактуется как строка, как это решить?
Вам придется использовать FIND_IN_SET()
, или отвратительная конструкция, как
WHERE editors='2'
OR editors LIKE '2,%'
OR editors LIKE '%,2,%'
OR editors LIKE '%,2'
Сейчас ваш запрос интерпретируется как
WHERE '2' IN ('1,2,3')
a.k.a
WHERE '2' = '1,2,3'
и не
WHERE '2' IN ('1', '2', '3')
a.k.a.
WHERE '2' = '1' OR '2' = '2' OR '2' = '3'
как ты хочешь.
ГДЕ
Других решений пока нет …