Можно ли получить записи с использованием одного запроса в случае, как:
id title tags
1 First yellow,blue
2 Second green, yellow,red,
3 Third black,purple
Что я хотел бы сделать, это выбрать все записи, где появляется ключевое слово желтый.
В результате должны быть возвращены две записи «Первая и Вторая»
Лучше использовать REGEX
чтобы получить точный поиск
SELECT * FROM tblname WHERE
tags REGEXP '[[<:]]yellow[[:>]]'
Или вы также можете использовать FIND_IN_SET()
функция
SELECT * FROM tblname WHERE
FIND_IN_SET('yellow', tages) > 0
НОТА: FIND_IN_SET()
функция не будет работать правильно, если теги не разделены запятыми, если tags
иметь пробел между ,
тогда это создаст проблему
Других решений пока нет …