select CustomerID,
Course1=sum(case CourseID when 1 then Grade end),
Course2=sum(case CourseID when 2 then Grade end),
[Sum]=sum(Grade)
from Grade group by CustomerID
Course1=sum(case CourseID when 1 then Grade end),
Course2=sum(case CourseID when 2 then Grade end),
[Sum]=sum(Grade)
from Grade group by CustomerID
Course1=sum(case CourseID when 1 then Grade end),
Course2=sum(case CourseID when 2 then Grade end),
[Sum]=sum(Grade)
from Grade
group by CustomerID
order by CustomerID
declare @s varchar(4000)
set @s=''
select @s=@s+','+quotename(CourseID)+'=sum(case CourseID when '+rtrim(CourseID)+' then Grade end)'
from Grade group by CourseID
exec('select CustomerID'+@s+',[sum]=sum(Grade)
from Grade group by CustomerID')