Zum Inhalt springen

Fussballtabelle mit direktem Vergleich


thiemo

Empfohlene Beiträge

Hallo zusammen,

ich hab hier eine kleine Aufgabe für Freunde des Fusballs und der Datenbanken. Also ich spiele mit meiner Freizeitmannschaft in einer "Bunten Liga".

Hier gibt es eine Online-Tabelle --> hier klicken und auf "Tabelle"

Das Problem an der ganzen Sache ist, das die Tabelle nicht so dargestellt wird, wie es den Regularien entspricht.

Sind zwei Mannschaften punktgleich, zählt vor dem Torverhältnis der direkte Vergleich. Und genau dieser direkte Vergleich wird bei der Berechnung nicht Berücksichtigt.

Z.B ist nicht "Gonsbachtal" Meister, sondern "FKK"

Gespielt wird nur ein Spiel (kein Hin und Rückspiel)

Sieg = 2 Punkte Remis = 1 Punkt

Also ich bin nicht Webmaster dieser Seite. Ich hab diesen Mal angeschrieben und folgende Hintergrundinfos bekommen

die Seite ist komplett in Perl. Momentan ist es eine Berkley DB (DB_File) in Zukunft aber mysql.

Den direkten Vergleich einbauen halte ich für absoluten overkill. Ich habe momentan eine einzige Abfrage um die komplette Tabelle zu generieren:

SELECT m.name, m.id,

SUM( IF((m.id = s.team1 AND s.tore1 > s.tore2) OR (m.id = s.team2 AND s.tore1 < s.tore2), 2, 0))

+ SUM(IF(s.tore1 = s.tore2, 1, 0)) as pkt,

SUM(IF((m.id = s.team1 AND s.tore1 > s.tore2) OR (m.id = s.team2 AND s.tore1 < s.tore2), 1, 0)) AS gewonnen,

SUM(IF((m.id = s.team1 AND s.tore1 < s.tore2) OR (m.id = s.team2 AND s.tore1 > s.tore2), 1, 0)) AS verloren,

SUM(IF(s.tore1 = s.tore2, 1, 0)) AS unentschieden,

SUM(IF(m.id = s.team1, s.tore1, 0)) + SUM(IF(m.id = s.team2, s.tore2, 0)) AS tore,

SUM(IF(m.id <> s.team1, s.tore1, 0)) + SUM(IF(m.id <> s.team2, s.tore2, 0)) AS gegentore,

SUM(IF(m.id = s.team1, s.tore1, 0)) + SUM(IF(m.id = s.team2, s.tore2, 0)) -

SUM(IF(m.id <> s.team1, s.tore1, 0)) - SUM(IF(m.id <> s.team2, s.tore2, 0)) AS tordifferenz,

COUNT(*) AS spieleanzahl

FROM teams as m LEFT JOIN spiele AS s ON (m.id = s.team1 OR m.id = s.team2) WHERE 1 GROUP BY m.id ORDER BY pkt DESC, tordifferenz DESC, tore DESC

Wobei teams die Tabelle mit den Namen der Teams ist und spiele die Tabelle mit den eingetragenen Ergebnissen.

Die where Klausel beinhaltet normalerweise die Saison ID (1 heißt das die Gesamttabelle geholt wird)

Um dort noch den direkten Vergleich einzubauen müßte jedesmal eine zweite Tabelle konstruiert werden für den Fall, das es Punktgleichheit gibt und eine Saison ID eingegeben wurde und die Platzierungen entsprechenden getauscht werden.

Mir fällt dazu keine sinnvolle Lösung ein.

ist der direkte Vergleich ohne viel Aufwand einzubauen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Kenne mich nicht wirklich mit Perl aus, aber wenn es mit PHP vergleichbar ist, dann sollte das machbar sein und nicht allzugrosser aufwand sein.

Allerdings ist es nicht so ohne Weiteres mit einer neuen Datenbankabfrage zu machen, sondern die Logik muss im Perl sein.

So sehe ich das zumindest!

Link zu diesem Kommentar
Auf anderen Seiten teilen

ohne mich jetzt wirklich mit Perl auszukennen würde ich sagen, daß eine fußballtabelle mit direktem vergleich

1) nicht sinnvoll ist

2) umständlich zu handhaben ist

3) zu viel platz braucht

du brauchst auf jeden fall eine weitere tabelle wo alle ergebnisse geseichert werden (kostet Speicherplatz). dann muß man auch alle spiele/spieler mit einander vergleichen. (kostet ZEIT)

und letztendlich macht es für einen Fußballfreund auch wenig sinn, den direkten vergleich zu ziehen. wird auch in keiner liga gemacht. Stell dir einfach mal vor 3 oder mehr mannschaften sind punktgleich :eek:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...