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 area,source,heading, cnt FROM (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) pUNPIVOT (cnt FOR heading IN ([YTD 2010],[YTD 2009],Variance))AS unpvt