Hallo, ich möchte die Summe über ein paar Datensätze mit der Aggregatsfunktion SUM berechnen. Das Problem ist dass im betreffenden Feld der NULL-Wert vorkommen kann. Eigentlich ging ich immer davon aus dass NULL in SQL als "unbekannt" zu verstehen ist, weshalb die Summe eigentlich ebenfalls NULL liefern sollte, sobald mind. ein NULL in der Menge vorkommt, es wird aber in der SUM Funktion als 0 behandelt. Hat jemand eine Idee wie in diesem Fall ein "richtiges" NULL zurückbekomme? Gruß Stefan
sum summiert alle Werte die nicht null sind. in T-SQL könnte man soetwas machen. select case when count(a) = count(*) then sum(a) else null end as summe_von_a from #tabelle
Stefan schrieb: > Eigentlich ging ich immer davon aus dass NULL in SQL als > "unbekannt" zu verstehen ist, weshalb die Summe eigentlich ebenfalls > NULL liefern sollte, sobald mind. ein NULL in der Menge vorkommt, es > wird aber in der SUM Funktion als 0 behandelt. Ist doch auch richtig -- die NULL-Werte werden einfach ignoriert und verändern die Summe nicht. Eine Summe ohne Werte ist dann halt eben 0. Festzustellen, ob da überhaupt irgendwelche NULL-Werte vorkommen ist wieder etwas Andres, da wäre z.B. sowas wie 'IS NULL' angebracht.
select sum(wert) where (not wert is null) and (was auch immer ...
select sum(wert) from table_xyz where (not wert is null) and (was auch immer ...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.