Gesamt Summe Null wenn ein Wert NULL ist

Hallo nochmal,
jetzt habe ich doch gleich schon wieder das nächste problem.
Ich möchte über eine Spalte die Summe bilden. Allerdings nur wenn es keine Null-Werte gibt. d.h. sobald ein wert in der Spalte NULL ist, so soll die gesamte Summe auch NULL sein. Standardmässig wird die Summe dann ja trotzdem gebildet, oder? Also dann einfach ohne die NULL-Werte.
Ich möchte jetzt aber eben nur die Summe bilden wenn in jeder Zeile auch ein Datenwert gesetzt ist. Ansonsten ist die Summe eben NULL.

select
indikator,
agg_id,
jahr,
sum(datenwert)
from ind10001,verb_raumeinheit_aggregationsebenen
where ind10001.raumeinheit = verb_raumeinheit_aggregationsebenen.raumeinheit_id
group by
agg_id, jahr, indikator


Gibt es da irgendeine Möglichkeit? Was kann ich da tun? Für jede Hilfe bin ich wie immer sher dankbar.

Gruss
Hanno



test=# create table hanno(val int);
CREATE TABLE
test=*# insert into hanno values(null);
INSERT 0 1
test=*# insert into hanno values(1);
INSERT 0 1
test=*# insert into hanno values(2);
INSERT 0 1
test=*# select sum(val) from hanno;
 sum
-----
   3
(1 row)

test=*# select sum(case when val is null then 1 else 0 end), sum(val) from hanno;
 sum | sum
-----+-----
   1 |   3
(1 row)

test=*# select case when sum(case when val is null then 1 else 0 end) > 0 then NULL else sum(val) end as resultat from hanno;
 resultat
----------

(1 row)

vielen, vielen Dank.

Das scheint das zu sein was ich gesucht hatte. Ich bin immer wieder erstaunt was SQL alles kann. :slight_smile:
Und noch erstaunter wie kompetent hier einem schnell und unkompliziert geholfen wird.

Vielen Dank
Hanno