2013-04-19 14 views
0

У меня есть имя и фамилия в моей таблице mysql. И я не знаю, в каком порядке пользователь вводит имя и фамилию в поле ONE. Весь полнотекстовый индекс находится на PERSONEN_VNAME и PERSONEN_NAME Так что он может написать «тестер a» или «тестер».Mysql полнотекстовый поиск

Я получил эти два человека:

  1. Фамилии: тестер, ПгвЬЫат: Andrea
  2. Фамилия: Tester, Firstname: A

Я попробовал этот запрос:

SELECT PERSONEN_ID,PERSONEN_VNAME, PERSONEN_NAME FROM 
PATIENT WHERE match(personen_name,personen_vname) against 
('+tester* +a* ' IN BOOLEAN MODE) 

Запрос возвращает меня только ТЕСТЕР Андреа, но не тестер А.

Почему !?

EDIT: SQL скрипку: http://sqlfiddle.com/#!2/21f29/1

+0

Использование SQL скрипку. –

+0

добавлен скрипка в исходное сообщение – krackmoe

ответ

1

Используйте это: -

SELECT PERSONEN_ID,PERSONEN_VNAME, PERSONEN_NAME FROM 
PATIENT WHERE match(personen_name,personen_vname) against 
('+tester* +a% ' IN BOOLEAN MODE) 

Смотрите эту fiddle

+0

Спасибо! Что это ? делать? Потому что я не нашел его в Документации: http://dev.mysql.com/doc/refman/5.5/en//fulltext-boolean.html – krackmoe

+0

Вместо этого используйте%. Он заменяет ноль или более символов. –

+0

, но если вы ищете тестер andr, ничего не найдено. Зачем? : / – krackmoe

Смежные вопросы