Вот с чем я работаю (SQL Server):
- факультетов : deptID, deptName
- студентов : studID, studName, deptID
- назначение : studID, courseID, статус
Студенты назначаются на кафедру, а в записи студента содержится идентификационный номер кафедры.«Задание» является связующим звеном между студентом и курсом (курс не показан), который имеет статус (неполный, пройденный, не выполненный).
Я хочу перечислить отделы и, с каждым отделом,общее количество студентов в этом отделении и общее количество заданий с каждым отдельным статусом (см. пример ниже, если эта формулировка сбивает с толку.)
В идеале, мне нужно было бы вернуть одну строку для каждого отдела.При выполнении подобных запросов обычно возникает проблема, с которой я сталкиваюсь.
Пример: на одном факультете 5 студентов и 5 курсов.Каждому студенту назначается каждый из этих 5 курсов.Только один студент закончил все курсы, остальные ничего не сделали.Таким образом, итоговые данные для этого отдела будут 20, а не попыток, 5 пройденных, 0 неполных.
Я буду рад ответу, который предлагает SQL на очень абстрактном уровне ... Мне просто нужно знатьесли объединения должны быть вложенными или тем не менее это сработает.