我的数据库设计是这样的
学生表:
学号 姓名 住址 电话 简历
课程表:
课程号 课程名 学时
成绩表:
学号 课程号 成绩 学期
如果我想产生这样的结果集可以吗?
学号 姓名 学期 成绩1 成绩2 成绩3
C01 xxx 1 60 80 90
select a.学号,b.姓名,a.学期,
sum((case when a.课程号=1 then a.成绩 else 0 end)) as 成绩1 ,
sum((case when a.课程号=2 then a.成绩 else 0 end)) as 成绩2 ,
sum((case when a.课程号=3 then a.成绩 else 0 end)) as 成绩3
from 成绩表 as a left join 学生表 as b
on a.学号 = b.学号
left join 课程表 as c
on a.课程号 = c.课程号
group by a.学号,b.姓名,a.学期
order by a.学号