Isso é um pouco longo para um comentário.
O SQL Server tem uma alternativa para exibições que são funções definidas pelo usuário . Em particular, você pode ter uma UDF que faça o seguinte:
- Requer parâmetros.
- Ele retorna uma tabela.
- Ele é embutido como uma visualização (ou seja, o "código" é essencialmente inserido na consulta, mas é um pouco mais complicado do que isso).
Eu penso neles como "visualizações parametrizadas".
Minha sugestão é que você crie uma função inline com valor de tabela definida pelo usuário que receba os parâmetros que você colocaria no
WHERE
cláusula. A sintaxe básica no seu caso é:
CREATE FUNCTION ufn_sales_stats (
@compid int,
@target_date date
) RETURNS TABLE
AS
RETURN ( <your parameterized query here> );