====条件==== SQL

来源:百度知道 编辑:UC知道 时间:2024/05/24 18:33:02
====条件====
//课程表:课程,课程ID,
//学生表:姓名,学生ID,班级,
//成绩表:学生ID,课程ID,成绩,

//T_ lession: lession_des, lession_id
//T_stu_profile: stu_name, stu_id, class_id
//T_scron: stu_id, lession_id, scron

====注明=====
[成绩表]中不记录没有参加考试的信息,

====要求是===
1.不允许使用自定义函数
2.不允许在列子句中写SELECT语句
3.不允许使用Oralce或SQL Server特有的语法

====题====
求每个学生各课程的分数在一行。

姓名 语文 数学 英语 物理 化学

问题补充:===================== ORECL ========================= 数据库

select
t_stu_profile.stu_name,
t11.score "语文",
t22.score "数学",
t33.score "英语",
t44.score "物理",
t55.score "化学"

from
t_stu_profile,
(select stu_name, score
from t_stu_profile left outer join (select stu_id, lession_id , score
from t_score
where lession_id = (select lession_id
from t_lession
where lession_des = '语文')) t1
on t_stu_profile.stu_id = t1.stu_id) t11,

(select stu_name, score
from t_stu_profile left outer join (select stu_id, lession_id , score
from t_score
where le