查询三科总成绩

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年级学生三科总成绩的全校排比比???
...全文
303 9 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
有没有大佬解答一下
(1)登录系统 用户登录之前,必须在登录界面输入其账号,通过其正确输入的密码登录系统。 (2)报到功能 报到功能主要是管理人员通过查询本校的录取名单将报到学生的信息(至少应包括学号、姓名、班级、身份证号码、语数外三科成绩、总分)填入系统中。 (3)查询功能 管理人员应该可以通过学生姓名、学号、班级查询学生的情况。例如:输入姓名/学号查询学生成绩情况,输入班级查询本班的学生名单。也可以通过设定条件如:某科成绩或总成绩高于XX分的,低于XX分等来查询。 在系统中至少要实现4种不同的查询。 (4)排序功能 管理人员应该能将全体学生或某班的学生基于某一门成绩或总成绩进行排序。 (5)信息管理功能 管理人员应该能够修改/删除学生的信息。 (6)系统的数据要求以文件的形式保存。 系统至少应该包含3个文件: ①系统管理文件:文件中保存用户信息。当用户登录时,需读取该文件核对登录信息。可以在本文件中添加删除修改管理员的信息。 ②录取名单文件:文件中包含本校本次的录取名单,包含学生的姓名,身份证号码。在学生报到的时候,需要在本名单中查询学生信息,只有本名单中有信息的学生方可报到。 ③学生信息文件:文件中包含已经报到的学生名单,包含有学生姓名、学号、班级、各科成绩,总成绩。对学生信息的增删改查排序等都通过本文件的数据实现。

27,579

社区成员

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

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