Hallo,
ich habe eine eine Access Datenbank. Damit ich die Seiten ins Internet stellen kann, wandle ich die gerade in Mysql um. Klappt soweit auch ganz gut, bis auf ein Problem mit einer Kreuztabelle.
tabErgebnisse (NummerID_F, WettkampfID_F, Aklasse, Jahr, Ergebnis, Rang)(alles Integer)
tabStammdaten (NummerID, Nachname, Vorname)
tabWettkampf (WettkampfID,Wettkampf)
NummerID ist mit NummerID_F zu verknüpfen, WettkampfID mit WettkampfID_F.
Sortieren nach Ergebnis1,2,3,4 jeweils absteigend
Gruppieren nach ?
In Access sah das so aus:
Code:
TRANSFORM First(tabErgebnisse.Ergebnis) AS ErsterWertvonErgebnis
SELECT tabStammdaten.AKlasse, tabStammdaten.Nachname, tabStammdaten.Vorname
FROM tabErgebnisse INNER JOIN tabStammdaten ON tabErgebnisse.NummerID_F = tabStammdaten.NummerID
GROUP BY tabStammdaten.AKlasse, tabStammdaten.Nachname, tabStammdaten.Vorname
PIVOT "Ergebnis: " & [Rang] In ("Ergebnis: 1","Ergebnis: 2","Ergebnis: 3","Ergebnis: 4");
Der Hintergrund ist, in der Tabelle Ergebnisse stehen maximal 4 Ergebnisse mit der gleichen NummerID_F.
In der Spalte Rang steht die Zahl 1 bis maximal 4. Dadurch kann ich das höchste, zweithöchste ... Ergebnis auslesen. Über die Kreuztabelle bekomme ich dann zu jedem Teilnehmer die 4 vorhandenen Ergebnisse und kann die dann sortieren.
Beispiel:
NummerID_F Aklasse Ergebnis Rang
1_________1_______101010___1
1_________1________91010___2
1_________1________81010___3
2_________1_______101010___1
2_________1_______101010___2
2_________1________91010___3
soll zu folgender Zeile werden:
NummerID_F Aklasse Ergebnis1 Ergebnis2 Ergebnis3 Ergebnis4
2__________1_______101010___101010___91010
1__________1_______101010____91010___81010
WettkampfID_F (2) und Jahr (z.B. 2010) werden in einer anderen php Seite festgelgt und per get übertragen. Aklasse kann entweder 0 oder 1 sein, stellt aber kein Problem dar, da ich die Abfrage auch zweimal machen kann und die Ausgabe entsprechend anpassen kann. Ergebnis4 dient nur bei absoluter Gleichheit um die Plätze richtig zu belegen.
Ich hoffe mal ihr könnt mir weiterhelfen.
Auf jeden Fall schon mal im voraus.
Mfg
Stefan
Der Aufwand ist nötig, da ich in zwei Richtungen sortieren muss und dabei noch einen ganzen Haufen gleicher Ergebnisse habe. D.h. die Ergebnisse der einzelnen Teilnehmer müssen in der korrekten Reihenfolge sortiert sein. Außerdem muß ich dann nach Ergebnis1, 2, 3, 4 absteigend sortieren.