У меня есть приложение со страницей, в которой перечислены ресурсы. В верхней части страницы находится текстовое поле поиска, в котором пользователи могут вводить значения, такие как идентификатор, имя, местоположение и т.д. Я хочу, чтобы пользователи могли вводить несколько значений в текстовое поле поиска, а для MySQL - возвращать строка для каждого найденного значения.
Я ищу чистое решение MySQL, а не PHP или Python...
Ex. Строка поиска: "161, Bob, Production, 123, 125", где все значения соответствуют разным столбцам (т.е. Целые числа - это идентификатор, Боб - это возможное имя, а Production - это местоположение). Затем MySQL будет искать каждое значение, разделенное запятой, и если оно найдено, верните строку. Предпочтительно это будет выполняться в одном запросе, а не в последовательности, где первый найден, отображается, затем второй и т.д.
Вам нужен оператор SQL IN
Что-то вроде этого будет делать то, что вы ищете:
SELECT * FROM table_name
WHERE table_name.id IN (161, 'Bob', 'Production', 123, 125)
OR table_name.first_name IN (161, 'Bob', 'Production', 123, 125)
OR table_name.location IN (161, 'Bob', 'Production', 123, 125)