SUM-Ergebnisse nebeneinander stellen

Hi!

Ich habe folgendes SQL-Problem:

In einer Table befinden sich eine unbestimmte Anzahl von Datensätzen. Jeder Datensatz besteht nur aus zwei Elementen „STATUS“ und „WERT“. Unter „STATUS“ können nur drei Ausprägungen auftreten (z.B. „A“, „B“ und „C“), während unter „WERT“ beliebige Zahlenwert erscheinen.

Nun soll für jeden „STATUS“-Wert die Summe ermittelt werden. Das ist einfach über SUM(WERT) und ein GROUP BY auf „STATUS“ zu lösen. Als Ergebnis bekomme ich dann drei Zeilen.

Nun will ich aber nicht drei Zeilen haben, sondern nur eine Ergebniszeile mit entsprechenden Spaltenüberschriften. In der Überschrift stehen nebeneinander die drei Status-Werte (also „A“, „B“ und „C“), darunter die ermittelten Summenwerte.

Kann mir jemand sagen, wie das SQL-mäßig hinzubekommen ist?

Danke & Grüße
Heinrich

Hallo Heinrich,

magst du verraten, was du für eine Datenbank benutzt? Meine Kristallkugel hat zu Weihnachten leider etwas gelitten… :wink:

lg,
Guido

Hallo Guido!

magst du verraten, was du für eine Datenbank benutzt? Meine
Kristallkugel hat zu Weihnachten leider etwas gelitten… :wink:

Upps … sorry …

Primär ist das Oracle, wenn möglich sollte es auch auf MySQL funktionieren.

Grüße
Heinrich

Hi @ alle, die am nachgrübeln sind oder waren …

Das Problem ist erledigt. Die Lösung liegt in einer Kombination aus SUM-Funktion und CASE-Konstrukt:

… SUM(case when CODE = ‚A‘ then WERT else NULL) as CODE_A …

Diese Zeile benötigt man für alle drei Fälle ( CODE = ‚A‘ … CODE = ‚B‘ … CODE = ‚C‘ … ), dann bekommt man drei Spalten in einer Zeile statt der drei Summen-Zeilen.

Danke an alle, die Zeit und Energie zur Beantwortung investiert haben!

Grüße
Heinrich