Zum Inhalt springen

[MySQL] Bestenliste ausgeben über 5 Tabellen


Heavensdoor

Empfohlene Beiträge

Moin,

ich sitze hier derzeit vor einem nervigen SQL Problem und zwar folgendem:

Ich habe ein Sportclubseite wo Sportler zu gewissen Disziplinen ihre Werte eintragen können, d.h. sie können ihre Endzeit angeben, Splitzeiten, Altersklasse, Platz etc.

Nun soll es eine Hall of Fame geben, wo die besten Sportler aus 2 Disziplinen angezeigt werden. Dabei soll aber folgendes gegeben sein:

Jeder Sportler darf nur 1mal bei einer Disziplin auftauchen und dass muss seine Bestzeit sein. Also sollte folgendes Bild verhindert werden:

Disziplin Langdistanz/Ironmen

1. Max Müller 42:45:34

2. Max Müller 64:35:12

3. Gerda Unbekannt 113:34:23

4. Max Müller 143:34:23

Es soll also nur einmal "Max Müller" mit seiner Bestzeit von "42:45:34" auftauchen und zwar auf Platz 1.

Dabei sind alle wichtigen Daten über mehrere Tabellen verteilt, die ich nicht verändern kann (ich kann auch keine neuen Tabellen hinzufügen, muss es also mit den gegebenen Daten und Tabellen machen).

icms_lite_item_child:

-> id

-> id_parent

icms_lite_mod_results

-> id_item

-> discipline

-> location

-> date

icms_lite_mod_results_child

-> id_child

-> athletes

-> placing

-> endtime etc.

icms_lite_mod_results_discipline

-> id_item

-> discipline

icms_lite_user

-> id

-> name

-> firstname etc.

Die Tabellen stehen in folgendem Zusammenhang:

icms_lite_user:

Dort sind alle User gelistet mit Name, Nachname, etc. dazu hat jeder User eine ID.

icms_lite_mod_results_discipline:

In dieser Liste stehen, mit ID verstehen, alle Disziplinen drin, die auf zur Auswahl stehen. Davon sollen nur 2 in der Hall of Fame erscheinen. (fiktiv sagen wir mal ID 1 und ID 2)

icms_lite_item_child:

Diese Tabelle stellt eine verknüfpung zwischen icms_lite_mod_results_child und icms_lite_mod_results da. "id" verweist dabei auf die Id in der Tabelle "icms_lite_mod_results_child". "id_parent" auf die ID in der Tabelle "icms_lite_mod_results".

icms_lite_mod_results:

In dieser Tabelle befindet sich die ID der Disziplin, das Datum und der Ort

icms_lite_mod_results_child:

In dieser Tabelle befinden sich die Ergebnisse der einzelnen User, d.h. Endzeit, etc.

Am Ende soll die Hall of Fame folgendes anzeigen: Datum, Name, Ort und Endzeit. Somit muss eine Abfrage über alle Tabellen gemacht werden, wobei nur die beste Zeit eines Users gewählt wird und dieser User in der Disziplin auch nur einmal auftaucht.

Ich habe es schon über eine und zwei Abfragen versucht das zu realisieren aber ich schaffe es nicht. Wenn mir da jmd. helfen könnte, wäre das super! :)

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