Zuerst habe ich überall recherchiert, um diese Abfrage sortiert zu bekommen und ich kann keine Antwort finden, die mein Problem so gelöst hat, hier ist es.Graf Division durch 0
Ich habe diese Anfrage:
SELECT
[Report Date],
COUNT(CASE WHEN [total_ahr_cap] = '0' OR [standing_load] = '0'THEN NULL ELSE 1 END) AS [Zero Values],
COUNT(CASE WHEN [total_ahr_cap]/[standing_load] > '12' THEN 1 ELSE NULL END) AS [Green Zone],
COUNT(CASE WHEN [total_ahr_cap]/[standing_load] < '12' AND [total_ahr_cap]/[standing_load] >= '10'
THEN 1 ELSE NULL END) AS [Yellow Zone],
COUNT(CASE WHEN [total_ahr_cap]/[standing_load] < '10' THEN 1 ELSE NULL END) AS [Red Zone],
COUNT(CASE WHEN [total_ahr_cap] IS NULL OR [standing_load] IS NULL THEN 1 END)AS [Null Values],
COUNT(CASE WHEN [total_ahr_cap]/[standing_load] > '0' THEN 1 ELSE NULL END) AS [Total]
FROM [dbo].[dc_chargers$]
WHERE [Report Date] = 'March 2016' AND sla_no NOT LIKE ('%South%')
GROUP BY [Report Date]
Beachten Sie, dass ich kopieren und diese Abfrage einfügen, um Ergebnisse für mehrere Monate des Jahres zu erhalten. Das Ergebnis, das ich erwarte, ist die Anzahl der Felder, die in die Felder 'grün', 'gelb', 'rot' und 'null' fallen, da meine Chefs diese Information jeden Monat benötigen, aber immer wenn der [standing_load] Wert oder der [total_ahr_cap] Werte sind 0 - Ich bekomme einen Fehler durch Division durch Null.
Ich brauche die Anzahl der Zahlen, die durch 0 geteilt werden, da ich sie nicht in NULL
Werte ändern kann, wie kann ich das umgehen, wie jedes Mal, wenn ich die Division durch Null Fehler die Abfrage nicht den Monat zählen der Zahlen, die die 0 haben und ich muss sie zu NULL
Wert ändern, aber das gibt mir ungenaue Daten.
siehe unten, was die Abfrage sollte wie folgt aussehen:
Report Date Green Zone Yellow Zone Red Zone Null Values Total
2015-12-01 276 5 5 16 286
2016-01-01 365 5 5 24 375
2016-02-01 376 4 5 25 384
wie Sie sehen können, ist es, alle anderen Monate zählt, aber nicht den Monat, hat 0 Werte.
bitte helfen!
Sie ändern müssen Summen zählt nicht –
@ZahiroMor also ändere ich nur die Anzahl für die Summe? –
grundsätzlich - ja. Überprüfe meine Antwort - ich habe ein paar Dinge geändert, wie das Entfernen von Anführungszeichen aus Zahlenwerten und das Hinzufügen von [standing_load] ist nicht null. versuchen Sie es :) –