Получить все строки, содержащие ЛЮБОЕ ключевое слово из заданной строки в любом столбце

0

Okey, поэтому я уже немного борюсь со следующей проблемой. Предположим, что у пользователя есть вход для поиска, где он может помещать любую информацию, то есть имя, фамилию, специализацию или что-то еще, а затем мы тестируем таблицу, чтобы возвращать все строки, содержащие что-либо из этой строки.

Предполагая, что у меня есть таблица, как указано ниже, и пользовательский запрос будет: spec_1 city_1 я хотел бы вернуть только первые 2 строки. Если его вход будет просто: city_2 я бы хотел получить только третью строку.

Могу ли я попросить здесь какое-нибудь предложение? Пробовал несколько вещей, но не мог найти ничего, что будет проверять, если вся строка содержит что-либо из данной строки в любом месте.

+----+------+---------+-----------------+----------------+--------+---------------+
| id | name | surname | location_street | location_place | spec   | location_city |
+----+------+---------+-----------------+----------------+--------+---------------+
|  6 | John | Doe     | street_1        | place_1        | spec_1 | city_1        |
|  7 | Bill | Dawkins | street_2        | place_2        | spec_1 | city_1        |
|  8 | Tom  | Schmidt | sreet_3         | place_3        | spec_3 | city_2        |
+----+------+---------+-----------------+----------------+--------+---------------+
Теги:
select

2 ответа

0

Если я правильно понял ваш вопрос, вам нужно использовать запрос select с предложением where, например so-

select * from table_name where spec='spec_1' OR location_city='city_1';

(это соответствует строкам с id = 6 и 7, поэтому возвращаются только строки с id = 6 и 7)

select * from table_name where location_city='city_2';

(это соответствует строке с id = 8, поэтому возвращается только строка с id = 8)

0

Вы можете использовать несколько опций where

 Select * from Table Where col1 = "city_2" or col2 = "city_2" ....

Ещё вопросы

Сообщество Overcoder
Наверх
Меню