Zum Inhalt springen

Fussballtabelle mit direktem Vergleich


Empfohlene Beiträge

Geschrieben

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?

Geschrieben

bevor hier eine mahnung erfolgt...ich will nicht rumdrängeln ;-)

vielleicht kann ja einfach einer, der sich etwas mit datenbanken auskennt schreiben ob es machbar ist oder wie hoch der aufwand in etwa wäre

danke :)

Geschrieben

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!

Geschrieben

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:

Geschrieben

tja...in der bunten liga rheinhessen wirds so gemacht :rolleyes:

aber stimmt schon was Du schreibst....wir werden es jetzt wohl so machen, dass wir in den letzten spieltagen die tabelle händisch pflegen...

trotzdem nochmal danke für die antwort :)

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...