declare @sql1 varchar(8000),@sql2 varchar(8000)
select @sql1='',@sql2=''
select @sql1=@sql1 + ',sum(case week when '+cast(week as varchar)+' then id else 0 end) i'+cast(week as varchar),
@sql2=@sql2 + ',max(case week when '+cast(week as varchar)+' then value end) v'+cast(week as varchar)
from (select distinct week from #) as a