Схема таблицы довольно проста. У меня есть дочерняя таблица, в которой хранится информация о клиенте, такая как адрес и номер телефона. Это столбцы user_id, fieldname, fieldvalue и fieldname. Таким образом, каждая строка будет содержать один элемент, такой как номер телефона, адрес или адрес электронной почты. Это позволяет неограниченное количество каждого типа информации для каждого клиента.
Люди на телефонах должны быстро найти этих клиентов, когда они звонят в наш колл-центр. Я экспериментировал с использованием LIKE%, и сейчас я работаю с индексом FULLTEXT. Мои запросы работают, но я хочу сделать их более полезными, потому что если кто-то ищет телефонный код, такой как 805, который вызовет много людей, а затем добавит имя Билл, чтобы сузить его, «805 Билл». Это покажет КАЖДОМУ клиенту, у которого есть 805 ИЛИ Билл. Я хочу, чтобы он выполнял И выполнял поиск по нескольким строкам внутри каждого клиента.
В настоящее время я использую запрос ниже, чтобы получить user_ids, а затем я делаю еще один запрос, чтобы получить все детали для каждого пользователя, чтобы построить его полную запись.
SELECT DISTINCT `user_id` FROM `user_details` WHERE MATCH (`fieldvalue`) AGAINST ('805 Bill')
Опять же, я хочу выполнить приведенный выше запрос для групп строк, принадлежащих одному пользователю, но эти пользователи должны соответствовать поисковым ключевым словам. Что мне делать?