Hallo,
Vielen Dank für die guten Tipps. Das hat mir schon gute Stichworte gegeben. Aber jetzt hab ich gestern die halbe Nacht versucht die Abfrage richtig hinzubekommen und scheiter leider immer wieder. Kann mir vielleicht noch einmal jemand weiterhelfen, bevor ich komplett verzweifel? ich habe jetzt einmal versucht mein Problem genauer aufzulisten. ich hoffe ihr kommt da raus und es ist nicht zu kompliziert formuliert, sodass ihr mir helfen könnt.
Als Ausgangslage habe ich zwei Tabellen (ind10019 und raumeinheiten). Diese sind über das Attribut raumeinheit verknüpft.
Tabelle ind10019
indikator | jahr | datenwert | raumeinheit
10019 | 1979 | 1 | 333
10019 | 1979 | 2 | 334
10019 | 1979 | | 335
10019 | 1979 | 3 | 339
10019 | 1979 | 4 | 344
10019 | 1979 | | 345
10019 | 1979 | | 351
10019 | 1992 | 5 | 333
10019 | 1992 | 6 | 334
10019 | 1992 | 7 | 335
10019 | 1992 | 8 | 339
10019 | 1992 | | 344
10019 | 1992 | 9 | 345
10019 | 1992 | 10 | 351
10019 | 2004 | | 333
10019 | 2004 | 11 | 334
10019 | 2004 | 12 | 335
10019 | 2004 | | 339
10019 | 2004 | 13 | 344
10019 | 2004 | 14 | 345
10019 | 2004 | 15 | 351
Tabelle raumeinheit (Verknüpfung über raumeinheit)
raumeinheit | name | pla_region
333 | “Melchnau” | 6003
334 | “Obersteckholz” | 6003
335 | “Oeschenbach” | 6003
339 | “Rohrbachgraben” | 6002
344 | “Ursenbach” | 6002
345 | “Wynau” | 6000
351 | “Bern” | 6000
SELECT jahr,indikator,pla_region,sum(datenwert) as summe
FROM ind10019,raumeinheit
where raumeinheit.raumeinheit_id=ind10019.raumeinheit
group by pla_region,jahr,indikator
order by pla_region, jahr, indikator
Ich habe es jetzt mit der Abfrage oben versucht.
Ergebnis:
jahr | indikator | raumeinheit | summe
1979 | 10019 | 6003 | 3
1979 | 10019 | 6002 | 7
1979 | 10019 | 6000 | null
1992 | 10019 | 6003 | 18
1992 | 10019 | 6002 | 8
1992 | 10019 | 6000 | 19
2004 | 10019 | 6003 | 23
2004 | 10019 | 6002 | 13
2004 | 10019 | 6000 | 29
Hierbei wird natürlich die Summe gebildet von allen Zahlen. null-Werte werden “ignoriert”. Also es werden einfach alle “echten” Werte addiert.
Ich möchte jetzt aber, dass nur die Summe gebildet wird, wenn alle Werte des entsprechenden Jahres und der entsprechenden Raumeinheit NICHT null sind.
Null gibt es bei meiner Abfrage ja nur, wenn ALLE Werte null sind für das Jahr und die Raumeinheit.
ich möchte also gern folgendes Ergebnis
jahr | indikator | raumeinheit | summe
1979 | 10019 | 6003 | null
1979 | 10019 | 6002 | 7
1979 | 10019 | 6000 | null
1992 | 10019 | 6003 | 18
1992 | 10019 | 6002 | null
1992 | 10019 | 6000 | 19
2004 | 10019 | 6003 | null
2004 | 10019 | 6002 | null
2004 | 10019 | 6000 | 29
Für Eure Versuche und eure Unterstützung gibts schonmal im Voraus ein grosses Lob und Dankeschön.
Hanno