In einer Fußballumgebung möchte ich die aktuellen Tabellen anzeigen. Bedeutung: Punkte und Tore pro Team. Die relevanten Tabellen sehen ähnlich wie folgt aus (vereinfacht).
Spiel Tabelle
uid (PK) heimteamid gastteamid
------------------------------------------------------------------
Ergebnis Tabelle
uid (PK) heimteamtore gastteamtore ergebnistyp (45min, 90min, ..)
-------------------------------------------------------------------
Team Tabelle
uid (PK) name kurzname symbol
------------------------------------------------------------------
Jetzt komme ich nicht darauf, wie ich die Tabelle in einer Abfrage schreiben kann. Was ich geschafft habe, war eine Abfrage zu schreiben, die nur die "Heimspiele"-Tabelle zurückgibt. Ich denke, das ist der einfache Teil. So sieht es jedenfalls aus:
SELECT ht.name,
Count(*) Als Spiele,
SUM(res.heimteamtore) ALS Tore,
SUM(res.gastteamtore) ALS Gegnertore,
SUM(res.heimteamtore - res.gastteamtore) ALS Tordifferenz,
SUM(res.heimteamtore > res.gastteamtore) * 3 + SUM(res.heimteamtore = rep.gastteamtore) Als Punkte
FROM liga_liga l
JOIN liga_spieltag gd
ON gd.ligaid = l.uid
JOIN liga_spiel m
ON m.spieltagid = gd.uid
JOIN liga_ergebnis res
ON res.spielid = m.uid
AND res.ergebnistyp = 2
JOIN liga_team ht
ON m.heimteamid = ht.uid
Where l.uid = 1
Group By ht.uid
Order By Punkte DESC, Tordifferenz DESC
Irgendwelche Ideen, wie man dies ändern kann, damit es Heim- und Auswärtsspiele zurückgibt, würden sehr geschätzt.
Vielen Dank,
Robin