Kwerenda Sql do wykonania kontroli obciążenia dla pracownika
Mam taki projekt stołu ...
1 Projekt -> Wiele produktów.1 Produkt -> Wiele środowisk.1 Pracownik -> Wiele czynności.Status może być = „nowy”, „postęp”, „wstrzymany”, „zamknięty”
<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>
Zapytanie sprawdzające obciążenie
Najpierw sprawdź całkowitą liczbę działań przypisanych do każdego pracownika w danym projekcie.
(ZA). następnie znajdź liczbę działań dla tego pracownika w tym projekcie, gdzie status = nowy lub postęp. (B). Podziel A / B. Oblicz A / B w procentach.
Moje dane wyjściowe tabeli zapytań będą więc składać się z
Imię pracownikanazwa projektucałkowita przypisana czynność (wartość licznika)Ustawa mająca status nowy lub w toku (liczba)Załaduj (wartość procentowa).Czy ktoś może mi pomóc z zapytaniem i wyjaśnić, w jaki sposób mogę osiągnąć ten wynik? Dzięki.
Do tej pory próbowałem tego wiele ... uzyskując wyniki A i B, ale teraz muszę połączyć te dwa ...
<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>