PHP, MySQL один запрос для нескольких столбцов различных значений

Можно ли получить записи с использованием одного запроса в случае, как:

id  title         tags
1   First         yellow,blue
2   Second        green, yellow,red,
3   Third         black,purple

Что я хотел бы сделать, это выбрать все записи, где появляется ключевое слово желтый.
В результате должны быть возвращены две записи «Первая и Вторая»

2

Решение

Лучше использовать 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 иметь пробел между , тогда это создаст проблему

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector