[英]My return-result is returning all the correct answers except one, with not errors
這是一道作業題。 我不是在尋求正確的答案,我只是在尋求幫助,看看我是否朝着正確的方向前進。
提示是我要返回以下學生的名字和姓氏:(或):(a)當前未注冊(不在注冊表中)或(b)在其所在部門的任何班級中得分最低。
我想出的 SQL 查詢是:
SELECT FIRSTNAME, LASTNAME
FROM STUDENTS
JOIN ENROLLMENTS ON STUDENTS.NETID = ENROLLMENTS.NETID
JOIN COURSES ON COURSES.CRN = ENROLLMENTS.CRN
WHERE STUDENTS.NETID NOT IN (
SELECT NETID
FROM ENROLLMENTS
) OR
ENROLLMENTS.SCORE IN (
SELECT MIN(SCORE)
FROM ENROLLMENTS
WHERE COURSES.DEPARTMENT = STUDENTS.DEPARTMENT
GROUP BY ENROLLMENTS.CRN
);
我嘗試使用 JOIN 子句來組合它們相交的三個表。 每個學生的 NetId 都是不同的,在 Enrollments 表中標識他們。 每個班級都有一個唯一的 CRN,因此我將它們連接到 Courses 表和 Enrollments 表之間。
我不知道問題出在哪里,但預期的結果是:
維比西克·耶普里魯韋
Wtoyi Avamijosu
Jheyiresoxo Bsexedoh
烏勒魯索塔·姆祖祖
但我的結果是:
維比西克·耶普里魯韋
Jropop Vduyumi
Jheyiresoxo Bsexedoh
烏勒魯索塔·姆祖祖
尋找任何指導讓我回到正軌。
您可以嘗試使用左連接
SELECT FIRSTNAME, LASTNAME
FROM STUDENTS
left JOIN ENROLLMENTS ON STUDENTS.NETID = ENROLLMENTS.NETID
JOIN COURSES ON COURSES.CRN = ENROLLMENTS.CRN
where ENROLLMENTS.NETID is null OR
ENROLLMENTS.SCORE IN
(SELECT MIN(SCORE) FROM ENROLLMENTS
WHERE COURSES.DEPARTMENT = STUDENTS.DEPARTMENT
GROUP BY ENROLLMENTS.CRN
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.