Announcement

Collapse
No announcement yet.

Komplexes SQL-Stmt mit Group by / Count

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Komplexes SQL-Stmt mit Group by / Count

    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:

    Code:
    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:

    PHP Code:
    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.

  • #2
    Hmm, Du müsstest dann für jeden Status die Anzahl in der Kategorie mitschleppen:

    SELECT k.Name, COUNT(*), (SELECT COUNT(*) from projekt where Kategorie_Id = k.ID)
    from projekt p
    left join Kategorie k on p.Kategorie_ID = k.ID
    Group by k.Name, p.Status_ID

    So ungefähr....

    Grüße

    Julia

    Comment


    • #3
      Danke, das hat gefunzt.
      Gruss Patrick

      Comment

      Working...
      X