Hallo miteinander,
ich spiele gerade ein wenig mit SQL herum. Ich habe komplette Datensätze von der Fußball-WM 2006. In folgender Abfrage werden mir alle Verteidiger ausgegeben, die in einem Spiel ein Tor geschossen habe und in diesem Spiel nicht verwarnt worden sind:
Code:
select distinct s.*
from Spieler s, Tore t
where
s.Position = 'Defender' and
t.SpielerNr = s.SpielerNr and
not exists
(select * from Verwarnung v
where
v.SpielerNr = s.SpielerNr and
v.SpielID = t.Spiel)
order by s.Land;
Das funktioniert auch einwandfrei, die sind nach Mannschaften geordnet und durch das distinct kommt auch jeder nur einmal vor.
Jetzt würde ich das alles aber gern nach der Anzahl der Tore ordnen, die die einzelnen Spieler erzielt haben. Leider habe ich absolut keine Ahnung, wie ich da vorgehen soll.
Die Tore-Tabelle ist folgendermaßen aufgebaut:
Code:
create table Tore(
SpielerNr int references Spieler,
Spiel int references Spiel,
Minute int,
Spielsituation varchar(20),
primary key(SpielerNr, Spiel, Minute));
Hat jemand eine Idee?