gpt4 book ai didi

mysql - SQL/MySQL 查询协助

转载 作者:行者123 更新时间:2023-11-30 23:17:58 25 4
gpt4 key购买 nike

我需要一些有关此 SQL 查询的帮助。它旨在检索与 Jaci Walker 具有相同 S.S_level 值的学生姓名,并在 BG 大楼与 Jaci Walker 一起上过类(class)(CS.C_SE_id)。

我在第 7 行遇到问题。我需要能够确保人们已经注册了与 Jaci Walker 相同的类(class)。我不确定要在该部分的 WHERE 语句中放入什么。

数据库模式可以在这里看到:databse schema

SELECT S.S_Fname, S.S_LName
FROM Student S, Enrollment E, CourseSection CS, Location L
WHERE S.S_id = E.S_id
AND E.C_SE_ID = CS.C_SE_id
AND L.Loc_id = CS.Loc_ID
AND S.S_Level = (SELECT S.S_Level FROM Student S WHERE S.S_Fname = "Jaci" AND S.S_Lname = "Walker")
AND CS.C_SE_id = (SELECT CS.C_SE_id FROM CourseSection CS WHERE **?**)
AND L.Loc_id = (SELECT L.Blodg_code FROM Location L WHERE L.Blodg_code = "BG");

最佳答案

我会首先使用使用 JOIN 条件的当前 SQL 语法,而不是使用 WHERE 子句来显示表之间的关系。通过这种方式,您可以完成所有表格关联,并且可以更好地直观地确认您已配置这些元素...然后,添加您正在寻找的标准。

我在这里所做的只是有一个 PreQuery(结果别名“JaciClassesInBG”),它获取所有已注册的 Jaci 类,并且仅获取建筑物“BG”的类(已添加到位置表)。 WHERE 子句仅适用于 Jaci。

根据该结果,我得到了 Jaci 上过的所有类(class)的列表。我抓取了她的 ID、S_Level 和 C_SE_ID 条目。

然后,根据 Jaci 使用的 C_SE_ID 返回所有其他学生的注册表(因此所有学生都在同一类(class))。但是,我已从列表中排除(通过 AND NOT...)Jaci 的学生证...我们知道她上了这门课,我们正在寻找其他人。

最后,根据普通注册将该结果连接回学生表。现在,我们可以将 Jaci 的通用“S_LEVEL”标准与那些学生联系起来......

现在,您可以获取想要显示的任何详细信息...在这种情况下,我会抓取每个学生,以及他们与 Jaci 的共同类(class)。一个学生可能上过多个类(class)。这将显示每个。如果您只关心一个实例,我会将顶部更改为...

选择不同的 S2.S_FName、S2.S_LName...

SELECT
JaciClassesInBG.Course_Code,
JaciClassesInBG.Course_Name,
S2.S_FName,
S2.S_LName
from
( SELECT
S.ID,
S.S_Level,
CS.C_SE_ID,
C.Course_Code,
C.Course_Name
FROM
Student S
JOIN Enrollment E
ON S.S_id = E.S_id
JOIN CourseSection CS
ON E.C_SE_ID = CS.C_SE_id
JOIN Location L
ON L.Loc_id = CS.Loc_ID
AND L.Blodg_Code = "BG"
JOIN Course C
ON CS.Course_ID = C.Course_ID
WHERE
S.S_Fname = "Jaci"
AND S.S_Lname = "Walker" ) JaciClassesInBG
JOIN
Enrollment E2
ON JaciClassesInBG.C_SE_ID = E2.C_SE_ID
AND NOT JaciClassesInBG.S_ID = E2.S_ID
JOIN Students S2
ON E2.S_ID = S2.S_ID
AND JaciClassesInBG.S_Level = S2.S_Level

关于mysql - SQL/MySQL 查询协助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16735391/

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