таблица Клиенты1. id
2. surname
3. name
4. secondname
наполнение:
1 | Иванов | Николай | Олегович
2 | Иванов | Сергей | Кириллович
3 | Сидоров | Константин | Алексеевич
4 | Самсонов | Николай | Иванович
Запрос может задаваться одним или несколькими словами (частями слов) через пробел, например:
1. Запрос "Ива" должен вернуть строки:
1 | Иванов | Николай | Олегович
2 | Иванов | Сергей | Кириллович
4 | Самсонов | Николай | Иванович
Тут вопросов нет:
Select * from 'Клиенты' WHERE
surname Like '%Ива%' or name Like '%Ива%' or secondname Like '%Ива%'
2. Запрос "Ива Никол" должен вернуть строки:
1 | Иванов | Николай | Олегович
Я создал такой запрос:
Select * from 'Клиенты' WHERE
surname Like '%Ива%' or name Like '%Ива%' or secondname Like '%Ива%' AND
surname Like '%Никол%' or name Like '%Никол%' or secondname Like '%Никол%'
Но возвращаются записи:
1 | Иванов | Николай | Олегович
2 | Иванов | Сергей | Кириллович
4 | Самсонов | Николай | Иванович
В идеале мне все это необходимо реализовать в Doctrine ORM, но мне необходимо сейчас хотя бы понять как это выглядит на нативном SQL.