C'est un peu long pour un commentaire.
SQL Server a une alternative aux vues qui sont fonctions définies par l'utilisateur . En particulier, vous pouvez avoir une UDF qui fait tout ce qui suit :
- Il faut des paramètres.
- Il renvoie une table.
- Il est intégré comme une vue (c'est-à-dire que le "code" est essentiellement inséré dans la requête, mais c'est un peu plus compliqué que cela).
Je les considère comme des "vues paramétrées".
Ma suggestion est que vous créiez une fonction en ligne définie par l'utilisateur qui prend les paramètres que vous mettriez dans WHERE
clause.
La syntaxe de base dans votre cas est :
CREATE FUNCTION ufn_sales_stats (
@compid int,
@target_date date
) RETURNS TABLE
AS
RETURN ( <your parameterized query here> );