Здравствуйте!
Имеется схема базы данных должников по предметам в университете.
Меня интересует следующая выборка:
Для каждой группы выбрать общее количество должников и количество должников, у которых количество долгов больше двух
Основные таблицы, которые участвуют в запросе:
- Students(StudentId(PK), GroupNumber, RecordBookNumber(номер зачетки), FirstName, LastName, MiddleName)
- Subjects(SubjectId(PK), Name)
- StudentsSubjects(StudentsSubjectsId(PK), SubjectId(FK), TeacherId(FK), MarkId(FK), ControlTypeId(FK), ControlPeriod(FK), CuratorID(FK))
Вывести некоторые данные по отдельности у меня получается.
Количество долгов в группеselect Students.GroupNumber as groupNum, Count(StudentsSubjects.StId) as Kol_dolgov
from StudentsSubjects, Students
where Students.RecordBookNumber = StudentsSubjects.StId
group by Students.GroupNumber
order by groupNum
Количество должников, у которых количество долгов более двухselect t1.Grp, count(t1.Rbn) as Kol_dol_bol2
from
(select Students.GroupNumber as Grp, Students.RecordBookNumber as Rbn, count(StudentsSubjects.SubjId) as Kol_dolg
from Students,StudentsSubjects, Subjects</li>
where Students.RecordBookNumber = StudentsSubjects.StId and Subjects.SubjectId = StudentsSubjects.SubjId
group by Students.RecordBookNumber, Students.GroupNumber
having count(StudentsSubjects.SubjId) > 2) as t1
group by t1.Grp
Количество должников в группеselect Students.GroupNumber as Grp, count(Students.RecordBookNumber) as Kol_dolgnikov
from Students
group by Students.GroupNumber
order by 1
Но не могу никак объединить всё это в одну таблицу. Могли бы Вы подсказать, как это сделать и возможно ли вообще, учитывая данную схему БД.