@NataliaCh

Как сделать поиск по нескольким полям таблицы?

Есть таблица, содержащая кучу полей, в том числе с десяток текстовых.
Возможно ли так построить запрос, чтобы во всех текстовых полях поискать определенное слово? Например "тест".
Можно конечно наплодить кучу LIKE-ов. Или написать скрипт (работаю на php), который сгенерит все эти лайки, чтобы вручную не писать. Но интересно, возможно ли сделать это красиво средствами SQL? И если возможно, то хотелось бы увидеть пример :)
  • Вопрос задан
  • 357 просмотров
Решения вопроса 2
NeiroNx
@NeiroNx
Программист
можно сложить(текстовое объединение строк) все колонки и искать в результате сложения - будет меньше LIKE-ов и OR-ов
Ответ написан
Комментировать
tsklab
@tsklab Куратор тега SQL Server
Здесь отвечаю на вопросы.
CAST([Поле 1] AS NVARCHAR(MAX)) + ' ' 
  + CAST([Поле 2] AS NVARCHAR(MAX)) + ' ' 
  + CAST([Поле 3] AS NVARCHAR(MAX)) LIKE '%тест%'

Или вычисляемый столбец
[ПолеПоиск] AS (((([Поле1]+' ')+[Поле2])+' ')+[Поле3])

[ПолеПоиск] LIKE '%тест%'
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Можно сделать через словарь данных правда уже с помощью Transact-SQL.
https://professorweb.ru/my/sql-server/2012/level3/...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы