Hallo,
ich habe zwei Tabellen TEAM und MITARBEITER, wobei ein Mitarbeiter genau einem Team zugeordnet ist (1:n)
Tabelle TEAM
- tid (Primärschlüssel)
- bezeichnung
Tabelle MITARBEITER
- mid (Primärschlüssel)
- vorname
- nachname
- umsatz
- tid (Fremdschlüssel --> Tabelle TEAM)
Ziel: Ich möchte das Team mit dem höchsten Umsatz (= Summe aller Einzelumsätze der Mitarbeiter) ausgeben.
In meiner SQL-Abfrage bilde ich zunächst die Summe der Umsätze aller Mitarbeiter eines Teams (SUM) und gruppiere diese
nach Teams. --> Das funktioniert
ABER wie bekomme ich dann das Team mit dem höchsten Umsatz?
SELECT t.name, SUM(m.umsatz) AS teamumsatz
FROM team t
JOIN mitarbeiter m
ON t.tid = m.tid
GROUP BY t.tid
HAVING ???
Ich weiß, dass ich hier ein HAVING mit einem Sub-Select brauche, komme aber nicht weiter.
Kann mir da jemand helfen?
Danke & Gruß
Der Maddin
ich habe zwei Tabellen TEAM und MITARBEITER, wobei ein Mitarbeiter genau einem Team zugeordnet ist (1:n)
Tabelle TEAM
- tid (Primärschlüssel)
- bezeichnung
Tabelle MITARBEITER
- mid (Primärschlüssel)
- vorname
- nachname
- umsatz
- tid (Fremdschlüssel --> Tabelle TEAM)
Ziel: Ich möchte das Team mit dem höchsten Umsatz (= Summe aller Einzelumsätze der Mitarbeiter) ausgeben.
In meiner SQL-Abfrage bilde ich zunächst die Summe der Umsätze aller Mitarbeiter eines Teams (SUM) und gruppiere diese
nach Teams. --> Das funktioniert
ABER wie bekomme ich dann das Team mit dem höchsten Umsatz?
SELECT t.name, SUM(m.umsatz) AS teamumsatz
FROM team t
JOIN mitarbeiter m
ON t.tid = m.tid
GROUP BY t.tid
HAVING ???
Ich weiß, dass ich hier ein HAVING mit einem Sub-Select brauche, komme aber nicht weiter.
Kann mir da jemand helfen?
Danke & Gruß
Der Maddin