Поиск в таблице из трех столбцов, где критерии поиска могут быть только один столбец или два столбца или три столбца? - PullRequest
0 голосов
/ 21 сентября 2018

У меня таблица базы данных содержит адрес электронной почты, код, имя.У меня есть страница поиска просмотра, которая может принимать только электронную почту в качестве ввода или просто код или просто имя или адрес электронной почты и имя или адрес электронной почты и код или адрес электронной почты, имя, код или ничего.Поэтому, каким бы ни был критерий поиска, мне нужно возвращать связанные строки из базы данных.Как я могу управлять своим запросом?Любое предложение?Есть ли лучшая практика?

Примечание. На самом деле у меня есть три таблицы, и оттуда я получаю эти данные по запросу соединения.

Спасибо.

1 Ответ

0 голосов
/ 21 сентября 2018

Типичный метод:

where (? is null or email = ?) and
      (? is null or code = ?) and
      (? is null or name = ?)

Это требует передачи каждого параметра дважды.Таким образом, это хорошая причина для использования именованных параметров:

where (:email is null or email = :email) and
      (:code is null or code = :code) and
      (:name is null or name = :name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...