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