Това е малко дълго за коментар.
SQL Server има алтернатива на изгледи, които са дефинирани от потребителя функции . По-специално, можете да имате UDF, който прави всичко следното:
- Приема параметри.
- Връща таблица.
- Той е вграден като изглед (тоест „кодът“ по същество се вмъква в заявката, но е малко по-сложен от това).
Мисля за тях като за "параметризирани изгледи".
Моето предложение е да създадете дефинирана от потребителя вградена функция с таблична стойност, която приема параметрите, които бихте поставили в WHERE
клауза.
Основният синтаксис във вашия случай е:
CREATE FUNCTION ufn_sales_stats (
@compid int,
@target_date date
) RETURNS TABLE
AS
RETURN ( <your parameterized query here> );