2016-05-17 4 views
0

У меня есть таблица, в которой содержится информация о пациентах.Как найти записи с несколькими значениями столбцов, соответствующими пользовательскому вводу?

First_Name Last_Name 
TEST   DO NOT USE 
LEES   ESTATE 
LEES   ROSA 

Таким образом, исходя из ввода пользователя, мне нужно выполнить поиск, если имя First_Name или Last_Name соответствует пользовательскому вводу. Если пользователь вводил несколько слов, я должен разделить слово и проверить каждое слово на столбцы First_Name и Last_Name.

Например, если пользовательский ввод «D N U», мне нужно получить первую строку.

Если пользовательский ввод «ES», мне нужно получить все три строки. Аналогично, если пользовательский ввод «SA ES», мне нужно получить третьи строки.

Я пытаюсь использовать LIKE Operator, но я думаю, что для достижения того, что я требую, должно быть больше логики.

+0

Это не маленькая программа. Вы пробовали это раньше? –

+0

Я пытаюсь сделать это с помощью приложения, а не делать это в хранимой процедуре. Но хотелось знать, можно ли это сделать в SQL или нет. – user2502961

+0

Одним словом, ДА, Возможно. –

ответ

0

Я подозреваю, что что-то подобное будет работать:

where concat(last_name, ' ', first_name) like concat('%', replace($user_input, ' ', '%'), '%') 

Точный метод для конкатенации строк зависит от базы данных.

+0

Это помогло за помощь. – user2502961

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