日期:2014-05-18  浏览次数:20498 次

多条SQL记录 带条件合并
select stuName,gradeName,subName,marks from Score
inner join Student on Student.stuId=Score.stuId
inner join Grade on Grade.gradeId=Student.gradeId
inner join [Subject] on [Subject].subId=Score.subId
order by stuName desc

这样查出来的学生成绩记录 
格式如下
姓名 年级 科目 成绩
张三 一年级 语文 90
张三 一年级 数学 80
李斯 二年级 语文 99
李斯 二年级 数学 79

怎么样 合并为 

姓名 年级 语文 数学
张三 一年级 90 80
李斯 二年级 99 79

求高手 ,在线等!!


------解决方案--------------------
SQL code

--行转列,一搜一大堆的例子!

select 姓名,年级,
    sum(case when 科目='语文' then 成绩 else 0 end) 语文,
    sum(case when 科目='数学' then 成绩 else 0 end) 数学
from 表
group by 姓名,年级