一道常用的sql题,感觉很难,谁能写出。

yxzyxz 2003-02-17 10:42:47
有这么两张表:
表1(月份 学生姓名 任课老师编号 语文成绩 数学成绩);
表2(老师编号 老师姓名 );
表1记录的是每个月份学生的各科成绩和任课老师的编号,表2是老师的编号,姓名。
现在要求查询每个学生所有月份总的平均成绩,各科所有月份的平均成绩,任课老师姓名,
并按学生所有月份总的平均成绩排序输出,而且要按总的平均成绩输出等级,如90-100优秀
,80-90良好.怎么写这个sql.是不是很难呀?
...全文
80 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
SE1 2003-02-18
  • 打赏
  • 举报
回复
要求:每一个学生最多只能有一个任课老师。
很奇怪的要求,是吗?
原因在于:表的设计有问题。
SE1 2003-02-18
  • 打赏
  • 举报
回复
select 表1.学生姓名,
Avg(表1.语文成绩+表1.数学成绩) AS 总的平均成绩,
Avg(表1.语文成绩) AS 语文成绩,
Avg(表1.数学成绩) AS 数学成绩,
表2.任课老师姓名,
iif(Avg(表1.语文成绩+表1.数学成绩)>=90 and Avg(表1.语文成绩+表1.数学成绩)<100,"优",iif(Avg(表1.语文成绩+表1.数学成绩)>=80 and Avg(表1.语文成绩+表1.数学成绩)<90,"良",iif(Avg(表1.语文成绩+表1.数学成绩)>=70 and Avg(表1.语文成绩+表1.数学成绩)<80,"中",iif(Avg(表1.语文成绩+表1.数学成绩)>=60 and Avg(表1.语文成绩+表1.数学成绩)<70,"及格","不及格"))))
from 表1 inner join 表2 on 表1.任课老师编号=表2.老师编号
group by 表1.学生姓名,表2.任课老师姓名
order by Avg(表1.语文成绩+表1.数学成绩)
holydiablo 2003-02-18
  • 打赏
  • 举报
回复
对,杀脑细胞
amtyuranus 2003-02-18
  • 打赏
  • 举报
回复
不是很难啊 ,直接的sql语句写好了

不过很繁,自己写

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧