Also die Tabelle LeagueTeam würde ich vom Namen her schon so lassen, da später noch andere Wettbewerbe wie nationaler und internationaler Pokal dazukommen werden.
Für mich macht eine Tabelle Saison schon Sinn.
Das mit dem Key in der Teamtabelle gefällt mir irgendwie nicht.. es gehört für mich einfach nicht dorthin, sonst hab ich da irgendwann etliche Keys.. wie ne Masterklasse in
OOP..
Diese Abfrage macht jetzt aktuell was ich möchte
SQL-Code:
SELECT l . * , ifnull( lt.teamcount, 0 )
FROM League l
LEFT JOIN (
SELECT lindex, llevel, townid, saisonid, count( * ) teamcount
FROM LeagueTeam
WHERE townid = 1 and saisonid = 1
GROUP BY llevel, lindex, townid
)lt
ON lt.llevel = l.level AND lt.lindex = l.index
Ganz ohne zweites Select ging es dann doch nicht
Aber ich bin erstmal zufrieden.