Komplexe SQL Abfrage

Hallo Zusammen,

ich benötige mal wieder die Hilfe des Forums. Und zwar habe ich ein Problem mit einer SQL Abfrage.
Ich habe eine Tabelle die ungefähr so aussieht:
Bewertung|ID
rot | 401
gelb| 401
rot | 402
grün|404
grün|401
rot |405

Daraus würde ich gerne eine Abfrage machen mit einer Auswertung. Anzahl rot, Anzahl gelb, Anzahl grün pro ID.

AnzRot|AnzGelb|AnzGruen|ID
1 | 1 | 1 | 401
1 | 0 | 0 | 402
0 | 0 | 1 | 404
1 | 0 | 0 | 405

Bisher habe ich folgende SQL Abfrage, in der aber die ID fehlt.

SELECT Count(*) AS AnzRot, (SELECT COUNT(*) FROM Ergebnis WHERE Bewertung = „gelb“) AS AnzGelb, (SELECT COUNT(*) FROM Ergebnis WHERE Bewertung = „grün“) AS AnzGruen FROM Ergebnis
WHERE (Bewertung=„rot“);

Hat jemand eine Idee, wie ich das lösen könnte?
Vielen Dank schon mal im Voraus.
Sunny

Hallo, Sunny!

Das Konstrukt nennt sich Kreuztabelle oder Kreuztabellenabfrage. Gehe auf Abfragen, Neu, Kreuztabellenabfrage-Assistent und klicke Dir die Abfrage zusammen. Geht eigentlich ganz leicht.

Gruß, Manfred

Hallo Manfed,
danke für deine Antwort. Die Abfrage über eine Kreuztabelle bringt mir nicht die Auswertung (COUNT Abfrage) zumindest bekomm ich das mit dem Assistent nicht hin. Hast du mir da noch einen Tipp. Ich kämpfe damit weil ich ja eine Berechnung als Hintergrund haben möchte.
Vielen Dank im Voraus
Sunny

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo, Sunny!

Gut. Ich gehe mal davon aus, dass Deine Tabelle so aussieht: Du hast ein Feld „Bewertung“ mit den Werten „rot“, „grün“, „gelb“. Du hast ein Feld „ID“.

Dann kannst Du Deine gewünschte Tabelle erzeugen mit:

TRANSFORM Count(tblBewertung2.ID) AS AnzahlvonID
SELECT tblBewertung2.ID, Count(tblBewertung2.ID) AS [Gesamtsumme von ID]
FROM tblBewertung2
GROUP BY tblBewertung2.ID
PIVOT tblBewertung2.Bewertung

Was den Abfrageassistenten betrifft: Zwei Felder langen erst mal nicht für eine Kreuztabelle (Warum eigentlich?). Dann baue Dir, sofern kein anderes Feld vorhanden ist, einfach ein Feld „DatensatzId“ in die Tabelle ein. Als Zeilenüberschriften nimmst Du „ID“, als Spaltenüberschriften „Bewertung“ und als Wert „Count“ vom Feld „DatensatzID“. Damit kommst Du zum gleichen Ergebnis:

ID Gesamt gelb grün rot
401 3 1 1 1
402 1 1
404 1 1 
405 1 1

Gruß, Manfred

Genau das ist es!!!
Super Manfred,
vielen vielen DANK!!!
Wünsche dir nen schönen Tag.
Grüße
Sunny