Meine Situation ist eigentlich recht simpel, ich habe im Prinzip 1 Tabelle nach folgendem Schema:
Nach jedem Spieltag werden die Ergebnisse eingetragen und es soll aufgrund dieser Ergebnisse eine normale Tabelle, wie man sie aus dem Sport kennt, erstellt werden.
Das Prinzip dahinter ist auch recht simpel:
teama_score>teamb_score bedeutet, TeamA erhält 2 Punkte.
teama_score=teamb_score bedeutet, TeamA und TeamB erhalten jeweils 1 Punkt
teama_score<teamb_score bedeutet, TeamB erhält 2 Punkte.
Soweit ist mein Erfolg nach ein paar Tagen bishe(
Ich müsste nun für jedes Team die Abfrage durchlaufen lassen um die Punkte zu ermitteln und habe damit noch nichtmal die Spielpunkte (Tore) ermittelt.
Jetzt wurde mir empfohlen eine zusätzliche Tabelle anzulegen, in der ich die Rangliste immer wieder speicher, d.h. nach jedem Spieltag wird ein die Rangliste um die Punkte und Tore erweitert.
Meiner Meinung nach ist das aber überflüssig, denn die Punkte die ich in die Tabelle schreibe kann ich ja mit einer Formel errechnen, weil ich die Grundlage dafür ja in der Tabelle spielplan stehen habe, außerdem habe ich so viel mehr Abfragen als nötig, was bei größeren Tabellen auch auf die Performance schlagen könnte.
Leider sind meine MySql-Fähigkeiten wirklich bescheiden und ich komme auf keinen grünen Zweig um die Abfrage für die Tabelle vllt sogar in ein Statement packen zu können.
Ich wäre für jede Hilfe dankbar was in die Richtung geht.
Code:
matchID
teama_id
teama_score
teamb_id
teamb_score
# Verkürzte Form
Nach jedem Spieltag werden die Ergebnisse eingetragen und es soll aufgrund dieser Ergebnisse eine normale Tabelle, wie man sie aus dem Sport kennt, erstellt werden.
Das Prinzip dahinter ist auch recht simpel:
teama_score>teamb_score bedeutet, TeamA erhält 2 Punkte.
teama_score=teamb_score bedeutet, TeamA und TeamB erhalten jeweils 1 Punkt
teama_score<teamb_score bedeutet, TeamB erhält 2 Punkte.
Code:
((SELECT COUNT(*) FROM spielplan WHERE teama_id=x AND teama_score > teamb_score))+((SELECT COUNT(*) FROM spielplan WHERE teamb_id=x AND teama_score < teamb_score))
#gekürzte Form (Unentschieden fehlt natürlich)
Ich müsste nun für jedes Team die Abfrage durchlaufen lassen um die Punkte zu ermitteln und habe damit noch nichtmal die Spielpunkte (Tore) ermittelt.
Jetzt wurde mir empfohlen eine zusätzliche Tabelle anzulegen, in der ich die Rangliste immer wieder speicher, d.h. nach jedem Spieltag wird ein die Rangliste um die Punkte und Tore erweitert.
Meiner Meinung nach ist das aber überflüssig, denn die Punkte die ich in die Tabelle schreibe kann ich ja mit einer Formel errechnen, weil ich die Grundlage dafür ja in der Tabelle spielplan stehen habe, außerdem habe ich so viel mehr Abfragen als nötig, was bei größeren Tabellen auch auf die Performance schlagen könnte.
Leider sind meine MySql-Fähigkeiten wirklich bescheiden und ich komme auf keinen grünen Zweig um die Abfrage für die Tabelle vllt sogar in ein Statement packen zu können.
Ich wäre für jede Hilfe dankbar was in die Richtung geht.