To trochę za dużo na komentarz.
SQL Server ma alternatywę dla widoków, które są funkcje zdefiniowane przez użytkownika . W szczególności możesz mieć UDF, który wykonuje wszystkie następujące czynności:
- Pobiera parametry.
- Zwraca tabelę.
- Jest wbudowany jak widok (to znaczy „kod” jest zasadniczo wstawiany do zapytania, ale jest to trochę bardziej skomplikowane).
Myślę o nich jako o „sparametryzowanych widokach”.
Moja sugestia jest taka, że utworzysz zdefiniowaną przez użytkownika funkcję inline o wartościach przechowywanych w tabeli, która przyjmuje parametry, które umieścisz w WHERE
klauzula.
Podstawowa składnia w Twoim przypadku to:
CREATE FUNCTION ufn_sales_stats (
@compid int,
@target_date date
) RETURNS TABLE
AS
RETURN ( <your parameterized query here> );