Hallo,
ich verzweifel gerade an der Erstellung einer Ergebnistabelle (a la Fußballbundesliga Tabelle). Aus einer bestehenden Spielplan-Tabelle mit allen Ergebnissen möchte ich ein Ranking über die Platzierung der Teams generieren. Es soll dabei keine neue DB-Tabelle erstellt, sondern direkt aus dem Spielplan mit einer SQL-Anfrage berechnen werden.
Team-Tabelle:
Spielplan-Tabelle:
Hab mich schon an einem Statement bemüht, aber funktioniert noch nicht wirklich. Problem ist die Berechnung und Zuordnung durch die Heim/Auswärtspartien. :-(
Gibt es eine elegante Lösung für mein Problem bzw. kann man es überhaupt lösen?
Besten Dank im Voraus
Tom
ich verzweifel gerade an der Erstellung einer Ergebnistabelle (a la Fußballbundesliga Tabelle). Aus einer bestehenden Spielplan-Tabelle mit allen Ergebnissen möchte ich ein Ranking über die Platzierung der Teams generieren. Es soll dabei keine neue DB-Tabelle erstellt, sondern direkt aus dem Spielplan mit einer SQL-Anfrage berechnen werden.
Team-Tabelle:
Code:
CREATE TABLE `k_teams` ( `team_id` int(10) unsigned NOT NULL auto_increment, `team_name` varchar(255) NOT NULL default '', PRIMARY KEY (`team_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
Code:
CREATE TABLE `k_spielplan` ( `spiel_id` int(10) unsigned NOT NULL auto_increment, `spiel_spieltag` int(10) unsigned NOT NULL default '0', `spiel_teamheim` varchar(255) NOT NULL default '0', `spiel_teamgast` varchar(255) NOT NULL default '0', `spiel_toreheim` int(10) NOT NULL default '0', `spiel_toregast` int(10) NOT NULL default '0', `spiel_punkteheim` int(10) unsigned NOT NULL default '0', `spiel_punktegast` int(10) unsigned NOT NULL, PRIMARY KEY (`spiel_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=91 ;
Code:
SELECT spiel_teamheim AS id, k_teams.team_name AS team, sum( spiel_toreheim ) AS toregesamtheim, sum( spiel_toregast ) AS toregesamtgast, sum( spiel_toreheim - spiel_toregast ) AS torediff, sum( spiel_punkteheim ) AS punkteheim, sum( spiel_punktegast ) AS punktegast FROM k_spielplan LEFT JOIN k_teams ON k_spielplan.spiel_teamgast = k_teams.team_name GROUP BY k_spielplan.spiel_teamheim ORDER BY punkteheim DESC , torediff DESC , toregesamtheim DESC
Besten Dank im Voraus
Tom
Kommentar