GROUB BY addieren

chrisjahl

Erfahrenes Mitglied
hallo alle zusammen,

ich lerne gerade für eine Klausur in SQL und stehe vor einem kleinem Problem wo ich gerade nicht weiter weis

hier die Aufgabe:
Welche Summe an Ausgaben für die Krankenhäuser ergibt sich durch Addition der Ghälter aller Krankenschwestern und Praktikanten? Geben Sie die Summer aus.

hier der Code:
Code:
SELECT BERUF, ROUND(SUM(GEHALT),2) AS Gehalt
FROM PERSONAL
WHERE BERUF='Praktikant' OR BERUF='Schwester'
GROUP BY BERUF;

Er gibt mir leider nur von den Krankenschwestern und Praktikanten einzeln die summe aus aber net zusammen.
Mir würde auch nur ein Tipp oder Stichwort reichen, denn ich will es ja üben

vielen dank im voraus

Chris
 
Hi,

ich würde Dir raten, dass Du die Schreibweise "Tabelle.Spalte" verwendest. Vielleicht hast Du für Deine Berechnung die entsprechende Tabelle in der FROM-Klausel vergessen. Außerdem müsste die Spalte für die Funktion "SUM" in der GROUP BY-Klausel stehen. Ich denke, dass dies bei allen Aggregatsfunktionen erforderlich ist. Bedenke: Dein Ergebnis ist nur eine Zeile -> eben die Summe, die mit dem AS-Bezeichner ausgegeben wird. Das voranstehende Attribut stört bzw. verkompliziert nur alles. Lass es einfach weg, Du brauchst es nicht.

Sollten wirklich alle verwendeten Spalten nur aus einer Tabelle seien,
dann versuche Deine Berechnung zu vereinfachen -> ohne WHERE-Klausel. Erst wenn dies zu einem Ergebnis führt, dann filtere erst!

Gruß Micha
 
Na wenn du nur eine Summe haben willst, dann solltest du eben nicht nach Berufen gruppieren (= unterteilen) !

SQL:
SELECT ROUND(SUM(GEHALT),2) AS Gehalt
FROM PERSONAL
WHERE BERUF='Praktikant' OR BERUF='Schwester'
 
Zurück