查询三科总成绩

weixin_44907648 2019-08-19 02:54:28
某中学学生管理系统由学生信息表t(学生号-tid,班级号-cid,姓名-name,性别-sex,年龄-age)主键 tid --
班级信息表c(班级号-cid 年级-grade 班级-class)主键cid
学科信息表s(科目号-sid 学科名称-name)主键sid
学生成绩表g(年月日yyyymmdd,学生号-tid 学科号-sid 成绩-grade)其中yyyymmdd,tid和sid是复合主键
其中7年级2018年7月1日进行了月考并且存入相应的数据表中,考试科目有语文,数学,英语三科,查询此次月考成绩,请写出7年级学生三科总成绩的全校排比比???
...全文
325 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_45597365 2019-09-02
  • 打赏
  • 举报
回复
推荐一下,好东西大家分享
stelf 2019-08-21
  • 打赏
  • 举报
回复
提问的智慧
引用 2 楼 二月十六 的回复:
建议楼主列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。 参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382 1. 你的 create table xxx .. 语句 2. 你的 insert into xxx ... 语句 3. 结果是什么样,(并给以简单的算法描述) 4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL) 这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
qq_39932185 2019-08-21
  • 打赏
  • 举报
回复
SELECT 姓名-name, SUM(成绩-grade )FROM 学生成绩表g,学科信息表s,学生信息表t,班级信息表c WHERE 学生成绩表g.学科号-SID=学科信息表s.学科号-SID AND 学生成绩表g.学生号-tid=学生信息表t.学生号-tid AND 学生信息表t.班级号-cid=班级信息表c.班级号-cid and 年月日yyyymmdd='2018-07-01' AND 学科名称-name IN ('语文','数学','英语') AND 年级-grade ='7年级' GROUP BY 姓名-name
weixin_45409238 2019-08-20
  • 打赏
  • 举报
回复
引用 5 楼 weixin_45409238 的回复:
select t.name, t.tid, t.cid, c.class, yuwen.grade, shuxue.grade, yingyu.grade from t left join c on t.cid=c.cid left join (select t.tid, t.grade from t left jion g on on t.tid=g.tid where t.sid='语文') AS yuwen on yuwen.tid=t.tid left join (select t.tid, t.grade from t left jion g on on t.tid=g.tid where t.sid='数学') AS shuxue on shuxue.tid=t.tid left join (select t.tid, t.grade from t left jion g on on t.tid=g.tid where t.sid='英语') AS yingyu on yingyu.tid=t.tid
后面还可以加一个总成绩的子查询表,最后才排序下
weixin_45409238 2019-08-20
  • 打赏
  • 举报
回复
select t.name, t.tid, t.cid, c.class, yuwen.grade, shuxue.grade, yingyu.grade from t left join c on t.cid=c.cid left join (select t.tid, t.grade from t left jion g on on t.tid=g.tid where t.sid='语文') AS yuwen on yuwen.tid=t.tid left join (select t.tid, t.grade from t left jion g on on t.tid=g.tid where t.sid='数学') AS shuxue on shuxue.tid=t.tid left join (select t.tid, t.grade from t left jion g on on t.tid=g.tid where t.sid='英语') AS yingyu on yingyu.tid=t.tid
二月十六 2019-08-19
  • 打赏
  • 举报
回复
按照时间聚合搜索学生成绩表g和学生信息表t的关联表,得到七年级每个学生2018年7月的月考的总成绩,然后对此进行排序
weixin_44907648 2019-08-19
  • 打赏
  • 举报
回复
这是一道笔试题 我想问一下 这种sql语句一该怎么写
二月十六 2019-08-19
  • 打赏
  • 举报
回复
建议楼主列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。 参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382 1. 你的 create table xxx .. 语句 2. 你的 insert into xxx ... 语句 3. 结果是什么样,(并给以简单的算法描述) 4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL) 这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
weixin_44907648 2019-08-19
  • 打赏
  • 举报
回复
有没有大佬解答一下

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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