SQL-запрос для выполнения проверки нагрузки для сотрудника

У меня есть такой дизайн стола ...

1 Project--> Multiple products. 1 Product--> Multiple environment. 1 Employee--> Multiple activities.

Статус может быть = "новый", "в процессе", "в ожидании", "закрыт"

<code>    Activity table- ActID(PK), assignedtoID(FK), Env_ID(FK), Product_ID(FK), project_ID(FK), Status. 
    Product_table - Product_ID(PK), Product_name
    Project_Table- Project_ID(PK), Project_Name. 
    Environment_Table- Env_ID(PK), Env_Name. 
    Employee_Table- Employee_ID(PK), Name.
    Employee_Product_projectMapping_Table -Emp_ID(FK), Project_ID(FK), Product_ID(FK).
    Product_EnvMapping_Table - Product_ID(FK), Env_ID(FK). 
</code>

Load check query

Сначала выясните общее количество действий, назначенных каждому сотруднику в конкретном проекте.

(А). затем найдите количество действий для этого сотрудника в этом проекте, где status = new или inprogress. (В). Разделите А / Б. Рассчитайте это A / B в процентах.

Так что мой окончательный вывод таблицы запросов будет состоять из

Name of employee name of project total assigned act(Count value) Act having status new or in process(Count) Load(the percentage value. )

Может кто-нибудь помочь мне с запросом и объяснить, как я могу достичь этого результата? Благодарю.

До сих пор я очень много пытался ... получить результаты A и B, но теперь мне нужно объединить эти два ...

<code>(A).

SELECT activity_table.assignid, activity_table.projid, Count(activity_table.actid) AS CountOfactid
FROM activity_table
GROUP BY activity_table.assignid, activity_table.projid;

(B).

SELECT activity_table.assignid, activity_table.projid, Count(activity_table.actid) AS CountOfactid
FROM activity_table where status in ('new','inprogress')
GROUP BY activity_table.assignid, activity_table.projid ;
</code>

Ответы на вопрос(1)

Ваш ответ на вопрос