Я пытаюсь выбрать номер курса из курсов, где студенты получили оценкилевое внешнее соединение с подзапроса
первый я выбираю, где студенты получили оценки для каждого grade_type_code
SELECT z.STUDENT_ID ,m.GRADE_TYPE_CODE,COUNT(*) AS COURSE_NUM
FROM STUDENT z, GRADE m,SECTION s, COURSE w
WHERE z.STUDENT_ID = m.STUDENT_ID
AND m.SECTION_ID = s.SECTION_ID
AND s.COURSE_NO = w.COURSE_NO
GROUP BY z.STUDENT_ID,m.GRADE_TYPE_CODE
, чем я попытаться сделать левое внешнее соединение
SELECT COURSE_NO
FROM COURSE lt
LEFT OUTER JOIN
(SELECT z.STUDENT_ID ,m.GRADE_TYPE_CODE,COUNT(*) AS COURSE_NUM
FROM STUDENT z, GRADE m,SECTION s, COURSE w
WHERE z.STUDENT_ID = m.STUDENT_ID
AND m.SECTION_ID = s.SECTION_ID
AND s.COURSE_NO = w.COURSE_NO
GROUP BY z.STUDENT_ID,m.GRADE_TYPE_CODE) rt
ON lt.COURSE_NO = rt.COURSE_NO;
Вы присоединяетесь к 'rt.COURSE_NO', но это поле не включено в выбор вашего подзапроса. С другой стороны, вы уверены, что ваш подзапрос на самом деле возвращает ученика, у которого есть класс во всех классах? – Sebas
Я звонил всю таблицу rt, мне нужно иметь ее в списке? – Manual
yes, так как rt представляет ваш подзапрос, любое поле, которое вам нужно из этого псевдонима, должно быть включено в выбор подзапроса – Sebas