• How about something like this:

    ___________________________________________________________

    declare @@counter integer

    declare @@appendsql varchar(1000)

    declare @@sql varchar(1000)

    set @@counter = 1

    set @@sql = 'select '

    WHILE @@counter < (select COUNT(distinct ID) from temp)

     BEGIN

      set @@appendsql = 'SUM(CASE ID WHEN ' + CAST(@@counter as varchar(1000)) +

         ' THEN value ELSE 0 END) as ID' + CAST(@@counter as varchar(1000)) + ','

      set @@sql = @@sql + @@appendsql

      

      set @@counter = @@counter+1

     END

    set @@appendsql =  'SUM(CASE ID WHEN ' + CAST(@@counter as varchar(1000)) +

       ' THEN value ELSE 0 END) as ID' + CAST(@@counter as varchar(1000))

    set @@sql = @@sql + @@appendsql + ' from temp'

    exec(@@sql)

    ____________________________________________________________

    Ryan