Search code examples
sqlsql-serversql-server-2008datetimesqldatetime

Display sum from previous year


I have select statement like below:

  select [Fiscal Year], sum([value]), 
         YEAR(DATEADD(year,-1,[Fiscal Year])) as previous_year
  from [table1] 
  group by [Fiscal Year]

How to add after column previous_year, sum([value]) from previous year?

enter image description here


Solution

  • Please try the below query for SQL 2008

    select t1.[Fiscal Year],t1.Value,(t1.[Fiscal Year]-1) [previous_year],t2.Value [previous_value]
    from  
    (  select [Fiscal Year], sum([value]) value
      from [table1] 
      group by [Fiscal Year] 
    )t1
    LEFT JOIN
    (  
    select [Fiscal Year], sum([value]) value
      from [table1] 
      group by [Fiscal Year] 
    )t2
    ON t1.[Fiscal Year]=t2.[Fiscal Year]+1
    

    SQL demo link