17,377
社区成员
发帖
与我相关
我的任务
分享
create table SC ( -学生选课表
sno varchar(5), --学生编号
cno varchar(5), --课程号
grade number --成绩
);
WITH XS AS
(
SELECT SNO, SC1.GRADE KC1, SC2.GRADE KC2
FROM SC SC1, SC SC2
WHERE SC1.SNO = SC2.SNO
AND SC1.CNO = (SELECT cno FROM 课程表 WHERE kcm = '课程1')
AND SC2.CNO = (SELECT cno FROM 课程表 WHERE kcm = '课程2')
)
SELECT DISTINCT (SNO) FROM XS WHERE XS.KC1 > XS.KC2
select sno from (
select max(decode(cno,'课程1',grade,0)) 课程1成绩,
max(decode(cno,'课程2',grade,0)) 课程2成绩,
sno
from sc
group by sno)
where 课程1成绩 > 课程2成绩
and 课程1成绩 != 0 and 课程2成绩 !=0
select * from (select sno,score from sc where cno='c001') t1,( select sno,score from sc where cno='c002') t2 where t1.sno=t2.sno and t1.score>t2.score