У меня есть база данных книг. Существует поле Tag, которое содержит несколько тегов, и количество тегов не совпадает. Итак, у нас есть что-то подобное в два ряда:
комиксы, история
искусство, наука, tag3, Вкладка4
Теперь у меня есть строка, как $stringtosearch
которые могут быть любые комбинации тегов с этой структурой.
tag1, tag2 … (это с запятой, и я не знаю количество тегов или запятых …).
Так как мне написать запрос на выборку для этого поиска?
ПРИМЕЧАНИЕ: я хочу, например, если пользователь ищет строку, которая содержит 2 тега, отображать записи, которые имеют все два тега, а не только один из них
Вы можете использовать Like
Ключевое слово здесь.
SELECT * from tst where tags like '%t1%' AND tags like '%t2';
SQL Fiddle: — http://sqlfiddle.com/#!9/a3e6c/2
Других решений пока нет …