• Sorry, I aint givin the complete solution. This I guess you would anyway have it. I am really interested to know how anyone will approach this other part of the problem (unknown number of pivot columns)

    CREATE TABLE #T3(iYear int, ID int , Val float)

    INSERT INTO #T3 VALUES (2008,7,NULL)

    INSERT INTO #T3 VALUES (2009,7,0.0)

    INSERT INTO #T3 VALUES (2010,7,0.0)

    INSERT INTO #T3 VALUES (2011,7,0.0)

    INSERT INTO #T3 VALUES (2008,8,NULL)

    INSERT INTO #T3 VALUES (2009,8,0.0)

    INSERT INTO #T3 VALUES (2010,8,0.0)

    INSERT INTO #T3 VALUES (2011,8,0.0)

    select

    iYear, [7], [8]

    from #t3 T

    PIVOT (sum(Val) FOR ID IN ([7],[8])) PVT

    ---------------------------------------------------------------------------------