- Registriert
- 19.06.07
- Beiträge
- 378
Hallo,
ich bin gerade dabei ein kleines Auswertungsprogramm zu schreiben. Das ganze läuft natürlich MySQL gestützt. Zuerst wird in die Tabelle „teilnehmer“ die Startnummer, der Vorname und der Nachname eingetragen. Die Ergebnisse werden in der Tabelle „ergebnis“ eingetragen. Der Teilnehmer wird über die Startnummer identifiziert. Also wird in die Tabelle „ergebnis“ Startnummer und die Punktzahl eingetragen.
Jetzt kann es aber vor kommen, dass ein Teilnehmer öfter an den Start geht und dann selbstverständlich mehrere Ergebnisse in der Tabelle stehen. Wie schaffe ich es mit SQL, dass nur der niedrigste (also das beste Ergebnis) ausgelesen wird?
Hier mal der SELECT mit einem JOIN für beide Tabellen.
ich bin gerade dabei ein kleines Auswertungsprogramm zu schreiben. Das ganze läuft natürlich MySQL gestützt. Zuerst wird in die Tabelle „teilnehmer“ die Startnummer, der Vorname und der Nachname eingetragen. Die Ergebnisse werden in der Tabelle „ergebnis“ eingetragen. Der Teilnehmer wird über die Startnummer identifiziert. Also wird in die Tabelle „ergebnis“ Startnummer und die Punktzahl eingetragen.
Jetzt kann es aber vor kommen, dass ein Teilnehmer öfter an den Start geht und dann selbstverständlich mehrere Ergebnisse in der Tabelle stehen. Wie schaffe ich es mit SQL, dass nur der niedrigste (also das beste Ergebnis) ausgelesen wird?
Hier mal der SELECT mit einem JOIN für beide Tabellen.
Code:
SELECT a.startnr, a.vname, a.nname, a.disziplin, a.verein, b.ringe, b.teiler, b.dsb
FROM teilnehmer a JOIN ergebnis b ON a.startnr = b.startnr
ORDER BY b.startnr asc"