See if this helps...
Declare @curYearStart datetime
,@prevYearStart datetime;
Set @curYearStart = dateadd(year, datediff(year, 0, getdate()), 0);
Set @prevYearStart = dateadd(year, -1, @curYearStart);
;With currentYTD (Area, Source, Total)
As (Select Area
,Src
,count(Distinct Account_No)
From #dim1
Where Filter_Code Not In ('4', '9', 'Unknown')
And [Date] >= @curYearStart
And [Date] < dateadd(day, datediff(day, 0, getdate()), 0)
Group By Area
,Src
), previousYTD (Area, Source, Total)
As (Select Area
,Src
,count(Distinct Account_No)
From #dim1
Where Filter_Code Not In ('4', '9', 'Unknown')
And [Date] >= @prevYearStart
And [Date] < @curYearStart
Group By Area
,Src
)
Select curYTD.Area
,curYTD.Source
,curYTD.Total As 'YTD 2010'
,prevYTD.Total As 'YTD 2009'
,(curYTD.Total - prevYTD.Total) As Variance
From currentYTD curYTD
Join previousYTD prevYTD On prevYTD.Area = curYTD.Area
And prevYTD.Source = curYTD.Source;
Jeffrey Williams
“We are all faced with a series of great opportunities brilliantly disguised as impossible situations.”
― Charles R. Swindoll
How to post questions to get better answers faster
Managing Transaction Logs