Seperti yang telah disebutkan Alex K, Anda harus menulisnya sebagai fungsi bernilai tabel sebaris. Berikut artikel yang menjelaskan tentangnya.
Singkatnya, sintaksnya akan seperti
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
Anda dapat memiliki satu kueri pemilihan (betapapun rumitnya, dapat menggunakan CTE). Dan kemudian Anda akan menggunakannya sebagai
SELECT * FROM dbo.GetForPeriod('1-Jan-2010', '31-Jan-2010')