[Erledigt] MySQL: Abfrage mit Statistikauswertung Hallo.
Da ich bis jetzt nur einfache SQL-Abfragen und Befehle hatte, stolpere ich nun über meinen ersten komplizierteren Befehl.
Ich möchte gern eine Scorerstatistik für Eishockey erstellen und hab dazu folgende Tabellen (Ausschnitt: Original ist viel umfangreicher - brauch nur das Prinzip):
tbl_spieler
- Spieler_ID
- Name
- Vorname
- Nr
tbl_tore
- Tor_ID
- Torschuetze (Verweis auf Spieler_ID)
- Assist1 (Verweis auf Spieler_ID)
- Assist2 (Verweis auf Spieler_ID)
tbl_strafen
- Strafen_ID
- Spieler (Verweis auf Spieler_ID)
Am Ende möchte alle Spieler aus der Tabelle tbl_spieler (die eine bestimmte Bedingung dort erfüllen, aber das kommt später) mit Namen, Vornamen, Nr, die Anzahl der Tore, die Anzahl der Vorlagen (Summe aus Assist1 + Assist2) und die Punkte (Summe aus Tore, Assist1 und Assist2) und das ganze geordnet nach Punkten, dann Toren, dann Assist und möglichst in einer SQL-Abfrage, da es eben dann einfacher auszuwerten geht. Zur besseren Übersicht:
Ergebnis soll sein (wird dann in PHP realisiert, ist aber nicht bestandteil meines Problems):
Nr | Name | Vorname | Tore | Vorlagen | Punkte
Mein derzeitiges (My)SQL-Statement dazu lautet:
SELECT tbl_spieler.Name, tbl_spieler.Vorname, COUNT( tbl_tore.Torschuetze ) AS Tore, COUNT( tbl_tore.Assist1 ) + COUNT( tbl_tore.Assist2 ) AS Vorlagen, COUNT( tbl_tore.Torschuetze ) + COUNT( tbl_tore.Assist1 ) + COUNT( tbl_tore.Assist2 ) AS Punkte
FROM tbl_spieler, tbl_tore
WHERE tbl_spieler.Spieler_ID = tbl_tore.Torschuetze
GROUP BY tbl_spieler.Spieler_ID
ORDER BY Punkte DESC , Tore DESC , Vorlagen DESC
Es liefert allerdings nur die richtigen Werte bei den Toren und außerdem nicht alle notwendigen Spieler, d.h. Spieler ohne Tore in der tbl_tore fehlen gänzlich.
Wie muss es richtig heißen? Wäre über jede Hilfe super dankbar!
MfG Torsten P |