Adding Last 12 Months to a row in a table (SQL Server)
Perhaps you want something like this?  

INSERT INTO dbo.Test (
    Department
    , Month12
    , Month11
    , Month10
    , Month9
    , Month8
    , Month7
    , Month6
    , Month5
    , Month4
    , Month3
    , Month2
    , Month1
    )
VALUES ('Test'
    , DATEADD(MONTH, -12, GETDATE())
    , DATEADD(MONTH, -11, GETDATE())
    , DATEADD(MONTH, -10, GETDATE())
    , DATEADD(MONTH, -9, GETDATE())
    , DATEADD(MONTH, -8, GETDATE())
    , DATEADD(MONTH, -7, GETDATE())
    , DATEADD(MONTH, -6, GETDATE())
    , DATEADD(MONTH, -5, GETDATE())
    , DATEADD(MONTH, -4, GETDATE())
    , DATEADD(MONTH, -3, GETDATE())
    , DATEADD(MONTH, -2, GETDATE())
    , DATEADD(MONTH, -1, GETDATE())
);


This assumes several things.


You have DATE (or perhaps DATETIME, etc) as the data type for the 12 columns for each month.
You want each month to reflect the current day.  For instance, since it is currently Jan 2nd, this code would insert 2014-01-02, 2014-02-02, ... 2014-12-02 into the table.


If you are using SQL Server 2012 and above, you can modify this:

DATEADD(MONTH, -1, GETDATE())


to this:

FORMAT(DATEADD(MONTH, -1, GETDATE()), 'MMM-yyyy')


To get the date as Jan-2014.  There are also a lot of other ways that are probably more efficient.