Hey, ich weiß nicht genau in welche Kategorien ich die Fragen stellen soll, deswegen hier.
Also ich hab eine Tabelle Professoren mit Spalten (PerNr, Name, Rang, Gehalt) wobei PersNr der Primärschlüssel ist.
Nun hab ich einmal die Anforderung :
Finden Sie die Professoren (Name), die pro Rang das geringste Gehalt bekommen.
Ich habe dies so gelöst :
Dann diese Anforderung :
Finden Sie den Rang, in dem mindestens ein Professor ein genau so hohes Gehalt bekommt, wie das Durchschnittsgehalt für diesen Rang ist.
Hier hat mich dieses 'den' irritiert .
Ich hab dies so gelöst :
Bitte steinigt mich nicht bei fatalen Fehlern , bin blutiger Anfänger . Danke.
Gruß
Also ich hab eine Tabelle Professoren mit Spalten (PerNr, Name, Rang, Gehalt) wobei PersNr der Primärschlüssel ist.
Nun hab ich einmal die Anforderung :
Finden Sie die Professoren (Name), die pro Rang das geringste Gehalt bekommen.
Ich habe dies so gelöst :
SQL:
SELECT tmp.name
FROM (SELECT p.name , min(gehalt) FROM Professor p GROUP BY p.name ) tmp
Finden Sie den Rang, in dem mindestens ein Professor ein genau so hohes Gehalt bekommt, wie das Durchschnittsgehalt für diesen Rang ist.
Hier hat mich dieses 'den' irritiert .
Ich hab dies so gelöst :
SQL:
SELECT p.name
FROM Professoren p JOIN (SELECT rang, avg(Gehalt) As DurchGehalt
FROM professoren
GROUP BY rang ) tmp ON p.rang = tmp.rang AND p.gehalt = tmp.DurchGehalt
Gruß