MySQLデータベースに2つのテーブルがあるとします。
表1:
ID Name
1 Jim
2 Bob
表2:
ID Place Race_Number
1 2nd 1
1 3rd 2
1 4th 3
2 1st 1
2 2nd 2
2 2nd 3
データベースから行を選択するときに、2番目のテーブルの行を列として最初のテーブルに結合する方法はありますか?現在使用してSELECT * FROM Table1 NATURAL JOIN Table2
います。
これは以下を出力します:
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
現在、PHPスクリプトでこれを並べ替えて、配列に並べ替えています。IDを調べて同じかどうかを確認し、それに応じて並べ替える必要があるため、これは面倒です。PHPで配列にソートしなくても、MySQLでこれを正しく行う方法があるように感じます。IDごとに、2番目のテーブルに無制限の数のエントリを含めることができます。
MySQLクエリからの望ましい結果は次のとおりです。
ID Name Race1 Race2 Race3
1 Jim 2nd 3rd 4th
2 Bob 1st 2nd 2nd
IDごとにレースの数に制限がないため、テーブル自体にRace1、Race2などの列を作成することはできません。
助けてくれてありがとう!