patrick: GROUP BY und AGGREGAT-Funktionen

Beitrag lesen

Hallo zusammen,

ich hänge hier an einem SQL-Statement und komme nicht weiter bzw. Ich bin mir nicht sicher, ob man das überhaupt mit einer einzigen DB-Anfrage hinbekommt.... das ist nämlich mein Ziel.

Dies ist meine DB-Struktur:

Projekt
------
ID
NAME
STATUS_ID
KATEGORIE_ID

Kategorie
--------
ID
NAME

Status
-----
ID
NAME

So, ich hätte jetzt gerne alle Kategorien mit der Anzahl der darin vorhandenen Projekte:

SELECT kategorie.name, COUNT(projekt.id) AS projekte_in_kat FROM kategorie, projekt WHERE kategorie.id = projekt.kategorie_id GROUP BY projekt.kategorie_id

Das funktioniert auch.
Zusätzlich interessiert mich noch die Anzahl der Projekte je Status (in jeder einzelnen Kategorie). Also das Ergebnis sollte etwa so ausshen:

Kategorie.name      projekte_in_kat    projekte_status_a    projekte_status_b
---------------------------------------------------------------
Software               41                    11                      30
Hardware                25                    12                     13

Hat da jemand einen Ansatz?
Vielen Dank schon mal im Voraus,

Patrick.