Как показать процент завершения каждого подразделения в каждом курсе? - PullRequest
0 голосов
/ 30 марта 2012

Я занимаюсь разработкой веб-приложения, которое отслеживает обучение

за каждого работника в компании. У меня есть следующая база данных

дизайн:

Employee Table: Username, Name, DivisionCode
Division Table: SapCode, DivisionName
Course Table: CourseID, CourseName, GroupID
Group Table: GroupID, GroupName
Employee_Course Table: Username, CourseID

(первый атрибут в каждой таблице является первичным ключом, кроме последней таблицы)

У меня есть для реализации диаграммы или таблицы, которая показывает процент выполнения каждого деления в каждом курсе этих курсов , но я не знаю, как составить этот запрос. В запросе должны быть указаны DivisionName, CourseName, количество участников в каждом курсе и процент завершения

Не могли бы вы помочь мне с этим вопросом?

1 Ответ

0 голосов
/ 30 марта 2012
select a.DivisionName, a.CourseName, a.ParticipantsCount, ParticipantCount / EmployeeCount * 100 as PercentCompleted
from (
    select DivisionName, count(*) as EmployeeCount
    from Division d
    inner join Employee e on d.DivisionCode  = e.DivisionCode 
    group by DivisionName
) dc
inner join (
    select d.DivisionName, c.CourseName, count(*) as ParticipantCount
    from Course c
    inner join Employee_Course ec on c.CourseID = ec.CourseID
    inner join Employee e on ec.Username = e.Username
    inner join Division d on e.DivisionCode  = d.DivisionCode 
    group by DivisionName, CourseName
) a on dc.DivisionName = a.DivisionName
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...