Както Алекс К спомена, трябва да го напишете като вградена функция със стойност на таблица. Ето статията което описва за него.
Накратко, синтаксисът би бил нещо като
CREATE FUNCTION dbo.GetForPeriod
( @StartDate datetime, @EndDate datetime)
RETURNS TABLE
RETURN
SELECT [[ your column list ]]
FROM [[ table list]
WHERE [[some column] BETWEEN @StartDate AND @EndDate
Можете да имате една заявка за избор (колкото и сложна да е, можете да използвате CTE). И тогава ще го използвате като
SELECT * FROM dbo.GetForPeriod('1-Jan-2010', '31-Jan-2010')