数据库新手,正在为注册 SQL 查询而苦苦挣扎
New to Databases, struggling with an enrolment SQL Query
我正在尝试创建一个查询,以显示 2019 年第 3 节课注册的所有学生的研讨会注册列表。结果应包括课程、单元代码、单元名称、校园位置、研讨会日期和时间、导师姓名、学号和学名。结果应按单位代码、校区位置、研讨会日期和时间排序,然后按学生姓氏和名字排序。
数据库结构:
整天都在为这个绞尽脑汁。可能是因为我目前在家病得很重,但我只是想不出如何提取所需的正确信息并对其进行排序。
如有任何帮助,我们将不胜感激!我对这一切仍然非常陌生,但我真的很努力地跟进。
我相信我所有的键也都设置正确。
我写了一个查询,可以得到你想要的结果,但它很长很复杂。
我建议您阅读一些关于 Joins 的文章,因为您是这个领域的新手。
SELECT UNITE_ENROLMENT.Session, UNITE.UniteCode,
UNITE.UniteName, WORKSHOP.Location, WORKSHOP.Weekday,
WORKSHOP.ClassTimes, CONCAT(TEACHER.FirstName," ",TEACHER.LastName) AS
TeacherFullName, CONCAT(STUDENT.FirstName," ",STUDENT.LastName) AS
StudentFullName, STUDENT.phone
FROM WORKSHOP_ENROLMENT
JOIN STUDENT
ON WORKSHOP_ENROLMENT.StudentID = STUDENT.StudentID
JOIN WORKSHOP
ON WORKSHOP.WorkshopID = WORKSHOP_ENROLMENT.WorkshopID
JOIN TEACHER
ON TEACHER.StaffID = WORKSHOP.StaffID
JOIN UNIT_OFFERING
ON UNIT_OFFERING.UnitOfferingID = WORKSHOP.UnitOfferingID
JOIN UNITE
ON UNITE.UniteCode = UNIT_OFFERING.UniteCode
JOIN UNITE_ENROLMENT
ON UNIT_OFFERING.UnitOfferingID = UNITE_ENROLMENT.UnitOfferingID
WHERE UNITE_ENROLMENT.Session = 3 AND UNITE_ENROLMENT.Year = 2019
ORDER BY UNIT.UniteCode, WORKSHOP.Location, WORKSHOP.Weekday,
WORKSHOP.ClassTimes , StudentFullName
PS: 一些请求的列有多重含义,我可能选择了错误的 Table 列,你可以告诉我,我会相应地编辑查询.
我正在尝试创建一个查询,以显示 2019 年第 3 节课注册的所有学生的研讨会注册列表。结果应包括课程、单元代码、单元名称、校园位置、研讨会日期和时间、导师姓名、学号和学名。结果应按单位代码、校区位置、研讨会日期和时间排序,然后按学生姓氏和名字排序。
数据库结构:
整天都在为这个绞尽脑汁。可能是因为我目前在家病得很重,但我只是想不出如何提取所需的正确信息并对其进行排序。
如有任何帮助,我们将不胜感激!我对这一切仍然非常陌生,但我真的很努力地跟进。
我相信我所有的键也都设置正确。
我写了一个查询,可以得到你想要的结果,但它很长很复杂。
我建议您阅读一些关于 Joins 的文章,因为您是这个领域的新手。
SELECT UNITE_ENROLMENT.Session, UNITE.UniteCode,
UNITE.UniteName, WORKSHOP.Location, WORKSHOP.Weekday,
WORKSHOP.ClassTimes, CONCAT(TEACHER.FirstName," ",TEACHER.LastName) AS
TeacherFullName, CONCAT(STUDENT.FirstName," ",STUDENT.LastName) AS
StudentFullName, STUDENT.phone
FROM WORKSHOP_ENROLMENT
JOIN STUDENT
ON WORKSHOP_ENROLMENT.StudentID = STUDENT.StudentID
JOIN WORKSHOP
ON WORKSHOP.WorkshopID = WORKSHOP_ENROLMENT.WorkshopID
JOIN TEACHER
ON TEACHER.StaffID = WORKSHOP.StaffID
JOIN UNIT_OFFERING
ON UNIT_OFFERING.UnitOfferingID = WORKSHOP.UnitOfferingID
JOIN UNITE
ON UNITE.UniteCode = UNIT_OFFERING.UniteCode
JOIN UNITE_ENROLMENT
ON UNIT_OFFERING.UnitOfferingID = UNITE_ENROLMENT.UnitOfferingID
WHERE UNITE_ENROLMENT.Session = 3 AND UNITE_ENROLMENT.Year = 2019
ORDER BY UNIT.UniteCode, WORKSHOP.Location, WORKSHOP.Weekday,
WORKSHOP.ClassTimes , StudentFullName
PS: 一些请求的列有多重含义,我可能选择了错误的 Table 列,你可以告诉我,我会相应地编辑查询.