Есть БД на MSSQL, в ней таблица MyTable с кучей столбцов, "name", "class", "type", например.
Есть хранимка с множеством параметров. Например, "name", "class", "type"
все параметры могут быть NULL.
Задача реализовать SELECT запрос с перебором всех возможных WHERE в зависимости от того какие параметры хранимки не NULL.
пример
если все параметры NULL
SELECT * FROM MyTable
если name указали:
SELECT * FROM MyTable WHERE name like %text%
если 2 параметра, то добавляется еще
AND class like %class%
и т.д.
пока придумал только делать выгрузку ВСЕХ записей в tmp-близняшку таблицу, а затем через последовательный перебор всех входных параметров делать чистку tmp таблицы. и в конце хранимки отдавать результат.
но может есть какой способ сделать накопление WHERE условий, а затем сделать один запрос
SELECT * FROM MyTable WHERE *тут все собранные условия*
или я много хочу?