Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[MySQL] Bestenliste ausgeben über 5 Tabellen

Empfohlene Antworten

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! :)

hat sich erledigt ;)

Dann poste doch die Lösung

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.