Мне нужно выполнить поисковый запрос на SQL Server, где мне нужно отфильтровать данные на основе текстового поля ввода пользователя. Проблема заключается в том, что этот запрос необходимо выполнить на нескольких таблицах (поэтому я знаю только столбцы таблицы во время выполнения).SQL-запрос, такой как фильтр
Это запрос, у меня есть:
SELECT * FROM [BTcegeka.C2M].[dbo].[Lookup_Country] WHERE Name LIke '%test%'
Теперь проблема мне нужно сделать Like функцию на каждом столбце (я знаю только ColumnName во время выполнения) в таблице. Я вызываю этот запрос с веб-сайта ASP.NET. Пользователь выбирает таблицу из выпадающего списка и затем может ввести поле поиска.
Это то, что я действительно хочу сделать:
SELECT * FROM [BTcegeka.C2M].[dbo].[Lookup_Country] WHERE * LIke '%test%'
Очевидно ', где * Как неисполнению. Как я могу это сделать?
Решение было бы изменить имя столбца во время выполнения - использовать выбранную таблицу и поле поиска (и проверить безопасность, если имена действительны и разрешены). ** edit: ** Пользователь выбирает один столбец для поиска, поэтому при поиске выражения во всех столбцах результат неверен. – MacGucky
И почему вы не можете использовать динамический sql или строку конкатенированных запросов для этого? –