MySQL Join Mehrere Zeilen als Spalten

Angenommen, ich habe zwei Tabellen in einer MySQL-Datenbank.

Tabelle 1:

ID    Name
1     Jim
2     Bob

Tabelle 2:

ID    Place    Race_Number
1     2nd      1
1     3rd      2
1     4th      3
2     1st      1
2     2nd      2
2     2nd      3

Gibt es beim Auswählen von Zeilen aus der Datenbank eine Möglichkeit, Zeilen aus der zweiten Tabelle als Spalten mit der ersten Tabelle zu verknüpfen? Zur Zeit benutze ichSELECT * FROM Table1 NATURAL JOIN Table2.

Diese gibt aus:

ID   Name    Place    Race_Number
1    Jim     2nd      1
1    Jim     3rd      2
1    Jim     4th      3
2    Bob     1st      1
2    Bob     2nd      2
2    Bob     2nd      3

Derzeit sortiere ich dies in meinem PHP-Skript, um es in ein Array zu sortieren. Dies ist ein Schmerz, da ich mir die IDs ansehen und prüfen muss, ob sie gleich sind, und sie dann entsprechend sortieren muss. Ich glaube, es gibt eine Möglichkeit, dies in MySQL richtig zu machen, ohne es in PHP in ein Array sortieren zu müssen. Es kann eine unbegrenzte Anzahl von Einträgen in der zweiten Tabelle für jede ID geben.

Das gewünschte Ergebnis direkt aus der MySQL-Abfrage ist:

ID    Name    Race1    Race2    Race3
1     Jim     2nd      3rd      4th
2     Bob     1st      2nd      2nd

Ich kann in der Tabelle selbst keine Spalten für Race1, Race2 usw. erstellen, da für jede ID eine unbegrenzte Anzahl von Rennen möglich ist.

Danke für jede Hilfe!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage