Hallo Ilja,
vielen Dank, das sieht doch schon gut aus.
Ich studiere zwar Informatik und habe auch schon viel mit SQL gearbeitet, aber diese CASE Sachen kenne ich nur aus Java.
Wie ist denn da die generelle Syntax? Er will irgendeinen Operator noch haben (habe ich erwähnt, dass ich auch Access 2003 arbeite?)
Dann noch eine Frage zu dem "t.Spalte_wo_die_werte_zur_aufsummierung_drinne_steht":
Ist das eine Tabellenspalte, die ich anlegen muß? Oder wie ist das gemeint?
also nehmen wir mal an, meine Tabelle sieht so aus:
+----------------------+
| Forderung | Status |
+----------------------+
| grün | erfüllt |
| rot | offen |
| blau | offen |
| gelb | entfällt|
| türkis | erfüllt |
| orange | entfällt|
+----------------------+
Dann will ich haben :
erfüllt (2) / (alle (6) - entfällt (2))
(Also siehe Klammerung, die Substraktion zuerst)
= 1/2 oder 0,5
Das soll das Ergebnis sein.
Grüße
yo,
Sum(erfüllt) / (Sum(alle) - sum(enfällt)).
in diesem fall ist die sachlage ein wenig anders. wenn es dir nur um die Summen geht, kannst du am besten mit CASE arbeiten, wobei ich noch mal auf "punkt vor strichrechnung" hinweisen will.
SELECT SUM(CASE
WHEN t.status = 'erfüllt'
THEN t.Spalte_wo_die_werte_zur_aufsummierung_drinne_steht
ELSE 0
END
) /
SUM(t.Spalte_wo_die_werte_zur_aufsummierung_drinne_steht) -
SUM(CASE
WHEN t.status = 'entfällt'
THEN t.Spalte_wo_die_werte_zur_aufsummierung_drinne_steht
ELSE 0
END
) Ergebnis
FROM tabelle t
;Ilja