Der Titel wird wie folgt umgeschrieben: Dynamisierung von SQL-Abfragen
P粉478188786
P粉478188786 2023-09-06 15:20:57
0
1
553

Ich habe die folgende SQL-Abfrage und frage mich, ob ich den SUM()-Teil davon dynamisch machen könnte, sodass ich die Kategorie-ID (2 und 3) nicht manuell eingeben muss.

SELECT 
a.project_id,
COUNT(a.id) AS Total,
SUM(CASE WHEN a.category_id = 2 AND a.`status` < 80 THEN 1 ELSE 0 END) AS 'Bugs En cours',
SUM(CASE WHEN a.category_id = 2 AND a.`status` >= 80 THEN 1 ELSE 0 END) AS 'Bugs Resolu',
SUM(CASE WHEN a.category_id = 3 AND a.`status` < 80 THEN 1 ELSE 0 END) AS 'Ameliorations En cours',
SUM(CASE WHEN a.category_id = 3 AND a.`status` >= 80 THEN 1 ELSE 0 END) AS 'Ameliorations Resolu'
FROM bugs a 
GROUP BY a.project_id
HAVING COUNT(a.id) > 0

Das Ziel besteht darin, die Artikel-ID und die Anzahl verschiedener Arten von Anomalien basierend auf der Kategorie-ID und dem Status („En cours“ oder „Resolu“) aufzulisten.

Das Problem bei dieser Abfrage besteht darin, dass ich diese Abfrage manuell bearbeiten muss, wenn wir eine weitere Kategorie hinzufügen, was nicht ideal ist.

P粉478188786
P粉478188786

Antworte allen(1)
P粉908643611

下面的动态SQL正在构建从具有类别的参考表中的条件和总和。

project_id 总计 进行中的错误 已解决的错误 进行中的缺陷 已解决的缺陷 进行中的改进 已解决的改进
0 5 1 0 1 1 1 1
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage