create table #test(tn varchar(20),sn varchar(20),term varchar(20),score int);
insert #test values('王1','数学','01-02第一学期','5')
insert #test values('王2','数学','01-02第一学期','4')
insert #test values('王1','英语','01-02第二学期','5')
insert #test values('王1','数学','01-02第二学期','4')
insert #test values('王1','数学','01-02第一学期','4')
insert #test values('王1','数学','01-02第一学期','3')
insert #test values('王1','英语','01-02第二学期','3')
insert #test values('王2','数学','01-02第一学期','5')
select tn,sn,term,case sn 
when '数学' then 
case term when '01-02第一学期' then sum(score)
          when '01-02第二学期' then sum(score) 
end 
when '英语' then 
case term when '01-02第一学期' then sum(score)
          when '01-02第二学期' then sum(score) 
end 
end as score from #test group by tn,term,sn
drop table #test