У меня есть диаграмму ER, как показано нижеSQLite «появится количество курсов для каждого студента, является ли он в Посещает или нет» запрос SQL
для каждого ученика я хочу появляться все курсы, слагаемые. Поэтому я использую запрос,
select studentId,course.courseCode
from student natural left outer join attends
natural left outer join course
, который дает мне все результаты в правильном направлении
теперь я хочу, чтобы появиться общее количество курсов, которые студент посещает и я использую этот запрос
select studentId,
(select count(attends.courseCode)
from attends natural left outer join student
)as 'amount'
from student
но я имею этот результат
Как я могу представить реальное количество курсов для каждого учащегося независимо от того, находится он в посещении или нет? То есть, 0 для studentId 6,7,8 и 2 для studentId 17 и т.д. Спасибо заранее
PS1: Если вы хотите больше моих таблиц, пожалуйста, дайте мне знать.
PS2: Я не был уверен в названии. Если вы обнаружите, что другое название подходит лучше, просьба указать
Боюсь, что не дает мне результаты, которые я ожидал. В моем примере studentId 17 посещает 2 курса, и он возвращает, что он посещает один –
и что-то еще: Могу ли я использовать левое соединение istead естественного соединения? Таким образом, мой запрос может быть «select student.studentId, course.courseCode от студента левого соединения посещает с использованием (studentId) левый курс присоединения с использованием (courseCode)'? –
ОК моя ошибка Я понял, что происходит. Спасибо! –