Home Forums SQL Server 2005 T-SQL (SS2K5) Query Help - difference between last and current year RE: Query Help - difference between last and current year

  • 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