Frage zu SUM / GOUP BY Abfrage

ukyo184

Mitglied
Hallo,

ich möchte eine Abfrage durchführen, bei der aus 2 Tabellen eine Summe und drei Spalten ausgegeben werden. Ich habe folgende funktionierende Abfrage:

Code:
SELECT p.personalnr, SUM(a.stunden) as Gesamtstunden
FROM auswlohn as a join personal as p
ON a.personalnr = p.personalnr
WHERE a.jahr="2007" 
AND a.verwendung="F" 
AND a.bezeichnun="Normalstunden" 
GROUP BY p.personalnr

Nun würde ich gerne als zusätzliche Spalten noch die Spalte p.vorname und p.nachname ausgeben. Wenn ich diese beiden Spalten allerdings in der Select-Zeile einfüge

Code:
SELECT p.personalnr, p.nachname, p.vorname SUM(a.stunden) as Gesamtstunden
...

, erhalte ich eine Fehlermeldung:

Allgemeiner SQL-Fehler
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause)

Kann mir bitte jemand sagen, wie ich die gewünschte Abfrage hinbekomme?

Vielen Dank im voraus

Gruß Ukyo

Datenbank-Version: Firebird 1.5
 
Steht ja eigentlich auch schön dabei was der Fehler ist :)

Es müssen alle Felder, die nicht in einer Aggregat Funktion zusammengefasst werden, in der group by Definition angegeben sein.

also bei dir hilft ein:
SQL:
group by p.personalnr, p.nachname, p.vorname
 
Vielen Dank. Es funktioniert.

Ich benötige SQL immer nur sporadisch und ich wusste bislang nicht, dass man bei GROUP BY mehrere Spalten angeben kann.
 
Zurück