Announcement

Collapse
No announcement yet.

Geht das? SQL Mehrfachgruppierung

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

  • Geht das? SQL Mehrfachgruppierung

    Hallo @ All,
    ich bin neu hier. Befasse mich seit neustem ( Arbeits- + Studienbedingt ) mit SQL.

    Folgendes Problem:
    Ich suche die Synthax zu folgender Problemstellung:
    Ich habe mehrere Spalten. 3 von Ihnen (2008,2009,2010) beinhalten Werte gleicher Art ( Strings) z.b. Hund oder Katze oder Maus.

    2008 2009 2010
    Maus Hund Maus
    Katze Hund Hund
    Maus Katze Katze


    Ich möchte jetzt aus allen Spalten nach Maus gruppieren, so dass die Anzahl der in 2008, 2009, 2010 beinhaltenden "Mäuse" angezeigt wird.

    Also in etwa so (Werte stimmen nicht mit dem Bsp oben überrein
    2008 2009 2010
    Maus 2 5 7
    Hund 1 2 4
    Katze 4 1 1

    Mein Problem ist, dass ich nicht nur nach einer Spalte gruppieren möchte sondern jeweils nach den "eignen" spalten...
    also so:

    2008 2008 2009 2009 2010 2010
    Maus 2 Maus 5 Maus 7
    Hund 1 Hund 2 Hund 4
    Katze 4 Katze 1 Katze 1

    nur das es so aussieht wie in Beispiel 2 (Und in einer Abfrage, wichtig!)

    2008 2009 2010
    Maus 2 5 7
    Hund 1 2 4
    Katze 4 1 1

    Vielen Dank schonmal
    Mfg mooowe

  • #2
    Hallo,
    es müsste ungefähr so gehen:

    [highlight=sql]
    SELECT
    A.Tierart,
    (SELECT count(*) FROM tiere WHERE `2008` = A.Tierart) As `2008`,
    (SELECT count(*) FROM tiere WHERE `2009` = A.Tierart) As `2009`
    (SELECT count(*) FROM tiere WHERE `2010` = A.Tierart) As `2010`
    FROM (
    SELECT DISTINCT `2008` AS Tierart FROM tiere
    UNION
    SELECT DISTINCT `2009` As Tierart FROM tiere
    UNION
    SELECT DISTINCT `2010` As Tierart FROM tiere
    ) A
    [/highlight]

    Irgendwie ist deine Tabelle aber seltsam aufgebaut. Kommt jedes Jahr eine Spalte hinzu?!
    "(...) deshalb mag ich Binärtechnik. Da gibt es nur drei Zustände: High, Low und Kaputt." (Wau Holland)

    Viele Grüße Novi

    Comment


    • #3
      Nein, es geht um statische Daten die ausgewertet werden sollen.
      Ich werde es mal probieren und bei fragen nochmal melden, vielen dank soweit

      MfG

      Comment

      Working...
      X