查询哪里可以确定哪些学生即将毕业

问题描述 投票:0回答:1

我已经为此工作了整整两天。我是 Microsoft Access 和整个数据库的新手,实际上我对如何进行查询以确定哪些学生即将毕业感到困惑。我使用聊天 gpt 来获取想法,但它确实没有多大作用(我不确定我是否问了正确的问题)

无论如何,这是我的桌子Relationships

有关如何创建该查询的任何输入?

我尝试使用 chatGPT 中的 sql 代码,并观看了有关日期/时间的 YouTube 视频,在其中我可以选择特定课程所需的开始日期和结束日期。

database ms-access relationship
1个回答
0
投票

我将创建一个子查询来确定每个学生的最后课程结束日期。所需信息完全包含在

STUDENTCOURSE
中。子查询:

SELECT
    SC.StudentID,
    Max(SC.CourseEndDate) AS LastCourseEndDate
FROM
    STUDENTCOURSE AS SC
GROUP BY
    SC.StudentID

现在,我们可以将其与

STUDENTINFORMATION
结合起来并添加两个条件:

  1. 最后一个课程结束日期不得早于今天(因为那时学生已经毕业):
    X.LastCourseEndDate >= Date()
  2. 今天和最后一个课程结束日期之间的天数不得超过给定的天数(在本例中我花了 30 天):
    DateDiff("d", Date(), X.LastCourseEndDate) <= 30
    ,其中
    DateDiff("d", d1, d2)
    计算两个日期之间的天数。
SELECT
    X.StudentID,
    S.FirstName,
    S.LastName,
    X.LastCourseEndDate
FROM
    (SELECT
        SC.StudentID,
        Max(SC.CourseEndDate) AS LastCourseEndDate
     FROM
        STUDENTCOURSE AS SC
     GROUP BY
        SC.StudentID
    ) X
    INNER JOIN STUDENTINFORMATION AS S
        ON X.StudentID = S.StudentID
WHERE
    X.LastCourseEndDate >= Date() AND
    DateDiff("d", Date(), X.LastCourseEndDate) <= 30
ORDER BY
    S.FirstName,
    S.LastName
© www.soinside.com 2019 - 2024. All rights reserved.