Das wird unglaublich einfach scheinen, aber ich kann nicht herausfinden, warum die folgende Abfrage eine falsche Zahl zurückgibt.SUMME in SQL, die falsche Menge zurückgeben
Ich habe den Datensatz in Excel eingegeben und die Berechnungen nur zur Überprüfung durchgeführt. Die Summe von m1 ist 36785. Wenn ich Bereiche 900 und 995 entferne. Es kommt zu 18653. Was ist der Fehler, wenn man sich diese Abfrage anschaut? Wenn ich die() aus sie verlassen, berechnet der Wert 1716093. ist die Abfrage, wie unten gezeigt gibt einen Wert von 36785.
select sum(m1)
from dbo.sizeclassreportgov
where own='10' and (area !='900' or area != '995');
warum Bereich! = '900' oder Gegend! = '995' bewerten immer wahr? –
danke für die Hilfe. Es hat perfekt funktioniert. –
Es liegt daran, dass es sich um eine ODER-Bedingung handelt, sodass eine der beiden Bedingungen für eine echte Auswertung ausreicht. ''900'! = '995'', also' '900'' wird immer noch wahr zurückgeben. Wenn du die Klammern wegnehmen würdest und es einfach zu einem "AND" statt einem "OR" machen würdest, würde das auch funktionieren. –