invention
Neuer Benutzer
- Beiträge
- 2
Guten Tag liebe Menschen!
Ich stehe vor einem kleinen Problem und benötige mal kompetente Hilfe, da die Aufgabenstellung in meinen Augen etwas tiefgreifendere Kenntnisse erfordert als ich besitze.
Die Grundlage:
Eine Tabelle mit Mannschaften und eine Tabelle mit Spielen.
Ziel:
Über eine Abfrage eine Tabelle erzeugen, die zu jeder Mannschaft die aus den Spielen erlangten Punkte (Sieg 3 Punkte, Unentschieden 1 Punkt) auflistet und alles absteigend nach Punkten sortiert.
Der Tabellen-Aufbau ist eigentlich frei wählbar. Ich habe nun mit einer Mannschafts und einer Spieltabelle begonnen, da ich Redundanzen vermeiden möchte und alles sehr schmal halten möchte.
Darauf aufbauend habe ich mir folgende Struktur überlegt:
mannschaft:
id (INT | PRIMARY | AI)
mname (VARCHAR)
spiele:
id (INT | PRIMARY | AI)
spieltag (ID)
mannschaft_heim (INT)
tore_heim (INT)
mannschaft_gast (INT)
tore_gast (INT)
Dieser Aufbau müsste meiner Meinung nach alle nötigen Daten enthalten.
Die Frage ist nur jetzt: Wie zur Hölle kriege ich das hin, dass jede Mannschaft mit Ihren erlangten Punkten ausgegeben wird???
Was ich bereits habe:
SELECT wins.wpunkte+draws.dpunkte AS gespunkte FROM (SELECT COUNT(id)*3 AS wpunkte FROM spiele WHERE (mannschaft_heim = 'MANNSCHAFTSID' AND tore_heim > tore_gast) OR (mannschaft_gast = 'MANNSCHAFTSID' AND tore_heim < tore_gast)) AS wins, (SELECT COUNT(id) AS dpunkte FROM spiele WHERE (tore_heim = tore_gast) AND (mannschaft_gast = 'MANNSCHAFTSID' OR mannschaft_gast = 'MANNSCHAFTSID')) AS draws
Das berechnet mir schon mal die Punkte eines Teams, wenn ich die MANNSCHAFTSID einsetze. Aber wie mache ich das dynamisch? Stehe dort gerade echt auf dem Schlauch...
Kann mir jemand von euch Profis helfen?
Viele Grüße
Ich stehe vor einem kleinen Problem und benötige mal kompetente Hilfe, da die Aufgabenstellung in meinen Augen etwas tiefgreifendere Kenntnisse erfordert als ich besitze.
Die Grundlage:
Eine Tabelle mit Mannschaften und eine Tabelle mit Spielen.
Ziel:
Über eine Abfrage eine Tabelle erzeugen, die zu jeder Mannschaft die aus den Spielen erlangten Punkte (Sieg 3 Punkte, Unentschieden 1 Punkt) auflistet und alles absteigend nach Punkten sortiert.
Der Tabellen-Aufbau ist eigentlich frei wählbar. Ich habe nun mit einer Mannschafts und einer Spieltabelle begonnen, da ich Redundanzen vermeiden möchte und alles sehr schmal halten möchte.
Darauf aufbauend habe ich mir folgende Struktur überlegt:
mannschaft:
id (INT | PRIMARY | AI)
mname (VARCHAR)
spiele:
id (INT | PRIMARY | AI)
spieltag (ID)
mannschaft_heim (INT)
tore_heim (INT)
mannschaft_gast (INT)
tore_gast (INT)
Dieser Aufbau müsste meiner Meinung nach alle nötigen Daten enthalten.
Die Frage ist nur jetzt: Wie zur Hölle kriege ich das hin, dass jede Mannschaft mit Ihren erlangten Punkten ausgegeben wird???
Was ich bereits habe:
SELECT wins.wpunkte+draws.dpunkte AS gespunkte FROM (SELECT COUNT(id)*3 AS wpunkte FROM spiele WHERE (mannschaft_heim = 'MANNSCHAFTSID' AND tore_heim > tore_gast) OR (mannschaft_gast = 'MANNSCHAFTSID' AND tore_heim < tore_gast)) AS wins, (SELECT COUNT(id) AS dpunkte FROM spiele WHERE (tore_heim = tore_gast) AND (mannschaft_gast = 'MANNSCHAFTSID' OR mannschaft_gast = 'MANNSCHAFTSID')) AS draws
Das berechnet mir schon mal die Punkte eines Teams, wenn ich die MANNSCHAFTSID einsetze. Aber wie mache ich das dynamisch? Stehe dort gerade echt auf dem Schlauch...
Kann mir jemand von euch Profis helfen?
Viele Grüße