查询每个学生的所选课程的最高成绩 已得到如下结果 要求列出学号,姓名,课程编号,分数

来源:百度知道 编辑:UC知道 时间:2024/06/17 11:46:13
USE JXGLXT
GO
SELECT STUDENT.学号,姓名,CURRICULUM .课程编号,MAX(分数)分数
FROM GRADE JOIN STUDENT ON GRADE.学号=STUDENT.学号 JOIN CURRICULUM ON GRADE.课程编号=CURRICULUM .课程编号
GROUP BY STUDENT.学号,姓名,CURRICULUM .课程编号

0001 康盈盈 0001 80
0001 康盈盈 0002 90
0001 康盈盈 0003 87
0001 康盈盈 0004 86
0001 康盈盈 0005 78
0002 张卫斌 0001 76
0002 张卫斌 0002 73
0002 张卫斌 0003 67
0002 张卫斌 0004 70
0002 张卫斌 0005 89
0003 王琎 0001 83
0003 王琎 0002 73
0003 王琎 0003 84
0003 王琎 0004 75
0004 钱达理 0005 65
0005 李牧 0001 72
0005 李牧 0002 64
0005 李牧 0003 82
0005 李牧 0004 93
0006 徐璐 0005 60
0006 徐璐 0006 83
0007 肖海燕 0001 74
0008 张明华 0003 91
0008 张明华 0004 82
0009 代付胜 0005 73
0009 代付胜 0006 73
0010 陈涛 0002 89
0010 陈涛 0003 78
0011 胡曼 0004 67
0011 胡曼 0005 87
0012 涂成霞 0006 76
0013 拜志峰 000

CURRICULUM .课程编号 你 写的CURRICULUM 和点中间有个空格,看见没?
最后一行也是这个位置也是同样问题
GRADE.课程编号=CURRICULUM .课程编号 这个位置也是

select e.学号,e.姓名,f.课程编号,f.分数 from STUDENT e,
(select c.学号 学号,c.分数 分数,d.课程编号 课程编号 from GRADE d,
(select b.学号,MAX(a.分数)分数 from GRADE a,STUDENT b
where a.学号=b.学号 group by b.学号) c
where c.学号=d.学号
and c.分数=d.分数) f
where e.学号=f.学号

SELECT STUDENT.学号,姓名,CURRICULUM .课程编号,MAX(分数)分数
FROM GRADE JOIN STUDENT ON GRADE.学号=STUDENT.学号 JOIN CURRICULUM ON GRADE.课程编号=CURRICULUM .课程编号
where (STUDENT.学号,分数) in(SELECT STUDENT.学号,MAX(分数)分数
FROM GRADE JOIN STUDENT ON GRADE.学号=STUDENT.学号 JOIN CURRICULUM ON GRADE.课程编号=CURRICULUM .课程编号
GROUP BY STUDENT.学号 )