....
--sql语句2
--SQL SERVER 2000 静态SQL,指课程只有语文、数学、物理这三门课程。(以下同)
select 姓名 as 姓名 ,
 case 课程 when '语文' then 分数 else 0 end 语文,
   case 课程 when '数学' then 分数 else 0 end 数学,
  case 课程 when '物理' then 分数 else 0 end 物理
from @tb
--group by 姓名
/*
姓名         语文          数学          物理
---------- ----------- ----------- -----------
张三         74          0           0
张三         0           83          0
张三         0           0           93
李四         74          0           0
李四         0           84          0
李四         0           0           94
*/
select 姓名 as 姓名 ,
  max(case 课程 when '语文' then 分数 else 0 end) 语文,
  max(case 课程 when '数学' then 分数 else 0 end) 数学,
  max(case 课程 when '物理' then 分数 else 0 end) 物理
from @tb
group by 姓名
/*
姓名         语文          数学          物理
---------- ----------- ----------- -----------
李四         74          84          94
张三         74          83          93(2 row(s) affected)*/