1つのテーブルにゲームの統計情報があり、別のテーブルにホームチーム、アウェイチーム、ゲームの日付、勝者などのゲーム情報があるゲームのデータがあります。ゲーム情報データと統計データを結合する方法を探しています。統計データは、最初の5人のプレーヤーがホームチームで、次の5人のプレーヤーがアウェイチームになるように構成されています。
ゲーム情報スキーマ:gamelog(gameid、gamedate、hometeam、awayteam、winner)gamestats(gameid、index、player、points、rebounds、...)
出力を次のようにしたいと思います。
- ホーム、ホームチーム、プレーヤー、ポイント、リバウンド
- ホーム、ホームチーム、プレーヤー、ポイント、リバウンド
- ホーム、ホームチーム、プレーヤー、ポイント、リバウンド
- ホーム、ホームチーム、プレーヤー、ポイント、リバウンド
- ホーム、ホームチーム、プレーヤー、ポイント、リバウンド
- アウェイ、アウェイチーム、プレーヤー、ポイント、リバウンド
- アウェイ、アウェイチーム、プレーヤー、ポイント、リバウンド
- アウェイ、アウェイチーム、プレーヤー、ポイント、リバウンド
- アウェイ、アウェイチーム、プレーヤー、ポイント、リバウンド
- アウェイ、アウェイチーム、プレーヤー、ポイント、リバウンド
チーム列の最初の5つの名前がホームチーム、次の5つの名前がアウェイチームになるように参加する方法が見つからないようです。私がそれを行うことができた唯一の方法は、それぞれに10のチーム名が含まれる2つの追加の列を使用することです。
SELECT gamelog.hometeam, gamelog.awayteam, gamestats.player, gamestats.points, gamestats.rebounds
WHERE gamestats.id = 18873
AND gamelog.id = gamestats.id;
- ホームチーム、アウェイチーム、プレーヤー、ポイント、リバウンド
- ホームチーム、アウェイチーム、プレーヤー、ポイント、リバウンド
- ホームチーム、アウェイチーム、プレーヤー、ポイント、リバウンド
- ホームチーム、アウェイチーム、プレーヤー、ポイント、リバウンド
- ホームチーム、アウェイチーム、プレーヤー、ポイント、リバウンド
- ホームチーム、アウェイチーム、プレーヤー、ポイント、リバウンド
- ホームチーム、アウェイチーム、プレーヤー、ポイント、リバウンド
- ホームチーム、アウェイチーム、プレーヤー、ポイント、リバウンド
- ホームチーム、アウェイチーム、プレーヤー、ポイント、リバウンド
- ホームチーム、アウェイチーム、プレーヤー、ポイント、リバウンド
別の可能性としては、PHPを介して複数のクエリを実行し、クエリの実行後にデータを結合することも考えられますが、それがより効率的かどうかはわかりません。チーム名を持つ列をgamestatsテーブルに追加することもできますが、それは冗長に思えます。
編集:スキーマを投稿し、言語をクリアしました