gpt4 book ai didi

mysql - 处理类(class)数据库

转载 作者:行者123 更新时间:2023-11-29 14:33:33 24 4
gpt4 key购买 nike

好的,我有 3 张 table :

  1. 学生
  2. Offered_subjects
  3. Enrollees_list

学生会包含该校学生的所有信息Offered_subjects将包含学校提供的所有科目Enrollees_list 将包含有关学生注册的科目的所有信息,并且还将包含该科目的备注(通过或失败)。

现在,offered_subjects 中的科目包含有先决条件的类(class)(即,在获得 MySQL101 资格之前,学生必须在 DBMS101 中获得及格分数)

先决条件的类别是:

  1. 学年
  2. 学期
  3. 主题

请注意,并非提供的_subjects 中列出的所有主题都具有其先决条件的所有类别。有的要求完成某一科目,有的要求学生必须在某个学年(即第三年),有的则三者皆有。

该计划的要求是显示所有符合所选科目资格的学生。

比方说:MySQL101 有第二年、第二学期、DBMS101 的先决条件

我需要列出所有第二年第二学期的学生,并在 DBMS101 中进行及格评论。

如果所有主题的先决条件都具有相同的类别,我可以在 where 子句中放置相同的查询,那么这会很容易,但我的问题是,并非所有主题都列在Offered_subjects 具有其先决条件的所有类别。

我是 MySQL 新手,目前对我来说有点困惑。

我该怎么做?

最佳答案

我猜您在 Offered_subjects 表中有以下列:

  • Req_year
  • 要求_学期
  • Req_subject

如果您的某个主题在此列中没有值,您可以忽略对此列的检查。像这样的东西:

Select ... where (Subject.req_year is null OR Student.year >= Subject.req_year) ...

这样,如果所需的年份为空,则不会考虑该年份。

(注意:我现在还不完全确定语法,但这就是想法)。

关于mysql - 处理类(class)数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9557433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com