Как сформулировать запрос для записей содержащих слова, которые присутствует в тексте?
У меня есть подобный запрос, но работает он ровно наоборот: SELECT * FROM `TABLE 12` WHERE `Vo` LIKE '%$text%'
Ещё пробовал уже на php решать проблему через "strpos()", но хотелось бы избавиться от этого костыля.
Если уж совсем не понятно задал вопрос, то мне нужна запись где при запросе "Привет", мне бы нашлась запись с текстом "прив".
Выборка по одному столбцу.
Уточните, что хотите получить. LIKE дает возможность поиска вхождения заданной подстроки. Если хотите искать есть ли в строке набор определенных слов (т.е. вхождение Х подстрок в строку), то нужно использовать полнотекстовой поиск.
Хотя можно и в лоб:
mysql> SELECT * FROM (SELECT 'один два три' str) t WHERE t.str LIKE '%один%';
+------------------------+
| str |
+------------------------+
| один два три |
+------------------------+
1 row in set (0,00 sec)
mysql> SELECT * FROM (SELECT 'один два три' str) t WHERE t.str LIKE '%один%' AND t.str LIKE '%три%';
+------------------------+
| str |
+------------------------+
| один два три |
+------------------------+
1 row in set (0,00 sec)
mysql> SELECT * FROM (SELECT 'один два три' str) t WHERE t.str LIKE '%один%' AND t.str LIKE '%четыре%';
Empty set (0,00 sec)
mysql>