SQL-Abfrage, um die Lastprüfung für einen Mitarbeiter durchzuführen
Ich habe ein Tischdesign wie dieses ...
1 Projekt -> Mehrere Produkte.1 Produkt -> Mehrfachumgebung.1 Mitarbeiter -> Mehrere Aktivitäten.Status kann sein = "neu", "in Bearbeitung", "angehalten", "geschlossen"
<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>
Prüfabfrage laden
Ermitteln Sie zunächst die Gesamtanzahl der Aktivitäten, die jedem Mitarbeiter in einem bestimmten Projekt zugewiesen wurden.
(EIN). Suchen Sie dann die Anzahl der Aktivitäten für diesen Mitarbeiter in diesem Projekt, wobei Status = neu oder in Bearbeitung ist. (B). A / B teilen. Berechnen Sie diesen A / B in Prozent.
Meine endgültige Abfragetabellenausgabe besteht also aus
Name des MitarbeitersName des Projektsinsgesamt zugewiesener Akt (Zählwert)Akt mit Status neu oder in Bearbeitung (Count)Laden (der Prozentwert.)Kann mir jemand bei der Abfrage helfen und erklären, wie ich dieses Ergebnis erzielen kann? Vielen Dank.
Bisher habe ich so viel ausprobiert ... um die Ergebnisse von A und B zu erhalten, aber jetzt muss ich diese beiden kombinieren ...
<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>