sql三表联查问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 14:07:52
现在在有三张表,学生表:Member:;课程表:course:CID Char(10) 课程,主键,CName Char(50) 课程名
;成绩表:Score:SID int 自动编号,主键,成绩记录号,
CID Char(10) 课程号,外键,
MID Char(10) 学生号,外键,
Score int 成绩
;插入的语句可以随便写的,但是要查询各个学生的语文、数学、英语、历史课程成绩,
使用case语句和sum函数。
要达到图中(附件图片)显示的效果,怎么这么写sql语句!
一定要显示出图中的那种格式哦!

这是我以前给他们做的,和你这个除了表名和字段不一样以外,其他的都一样,你仿照着改改吧:

/*学生表:Member
字段名称 数据类型 说明
MID Char(10) 学生号,主键
MName Char(50) 姓名

课程表Class:
字段名称 数据类型 说明
FID Char(10) 课程,主键
FName Char(50) 课程名

成绩表:Score
字段名称 数据类型 说明
SID int 自动编号,主键,成绩记录号
FID Char(10) 课程号,外键
MID Char(10) 学生号,外键
Score int 成绩*/

create table member(mid varchar(10) primary key,mname varchar(50))
create table class(fid varchar(10) primary key,fname varchar(50))
create table score(sid int primary key,fid varchar(10),mid varchar(10),score int)
go
insert into member values ('1001','张三')
insert into member values ('1002','李四')
insert into class values ('A1','数学')
insert into class values ('A2','化学')
insert into class values ('A3','政治')
insert into class values ('A4','历史')
insert into class values ('A5'