Спасибо, что прочитали это. Надеюсь, ты поможешь мне.
Когда у меня есть таблица Mysql с этими значениями строками
обратное совпадение нескольких слов
идентификатора | поиск
========
1 | бабочки
2 | америка
3 | птицы Америки
4 | america butterflies
Как я могу определить, какие строки имеют все слова в столбце «поиск», происходящие в строке «бабочки америки», независимо от количества или порядка слов поиска.
(я хотел бы получить 1,2 и 4 в этом примере) Теперь я использую закодированный цикл для решения этой проблемы, было бы неплохо исправить его более эффективно с помощью mysql. Я пробовал полнотекстовый поиск и регулярные выражения, но полностью застрял. Tx.
Ничего себе, быстрый ответ, спасибо! Я попробовал ваши предложения. Ваш первый SELECT возвращает только записи 1 и 2, но я также хотел бы получить 4 (в строке есть как «америка», так и «бабочки»). Второй SELECT возвращает все записи, но мне не нужна запись 3 («птицы» не встречаются в строке).Любые мысли о том, как настроить регулярное выражение? – wikkie
Теперь я понял, чего вы хотите. Скоро придет с решением :) –
Хорошо, попробовал еще раз, и теперь запрос не возвращает никаких записей; он запрашивает записи, содержащие все слова (бабочки + + америки), и ни одна из записей не содержит всех слов. Изменение AND в OR не делает ничего хорошего (возвращает все записи снова). – wikkie