这个查询语句该如何写,请大家多指教

这个查询语句该怎么写,请大家多指教!
假如有个Table1的表中列值如下:
名字  课程   年级  成绩
A     语文    1     75
A     语文    2     80
A     语文    3     83
A     数学    4     87
A     数学    5     90
A     数学    6     93
....

假如我想查询的结果类似如下:
名字  1年语文的成绩 3年语文的成绩  5年数学的成绩  6年数学的成绩
A        75            83              90             93

SQL语句我该怎么写?本人是新手刚学习,请大家多指教,谢谢!
sql

------解决方案--------------------
select    名字,    
[1年语文的成绩]=max(case when [年级]='1' then [成绩] else 0 end),    
[3年语文的成绩]=max(case when [年级]='3' then [成绩] else 0 end),    
[5年数学的成绩]=max(case when [年级]='5' then [成绩] else 0 end),  
[5年数学的成绩]=max(case when [年级]='6' then [成绩] else 0 end) 
from     
tb group by 名字,课程
------解决方案--------------------
行列转换:

create table ColToRow
(
ID       int,
Code     varchar(10),
Value    int
)
Go
--INSERT
insert ColToRow 
select 1,'Item1',1000 union all
select 1,'Item2',1000 union all
select 1,'Item3',500  union all
select 2,'Item1',2000 union all
select 2,'Item2',0    union all
select 3,'Item1',1000 union all
select 3,'Item3',500 
GO
--SELECT1
select ID,
sum(case Code when 'Item1' then Value else 0 end) as Item1,
sum(case Code when 'Item2' then Value else 0 end) as Item2,
sum(case Code when 'Item3' then Value else 0 end) as Item3
from ColToRow group by ID