これは私の最初の質問です。複雑なSQLデータベースがあり、同じ列名を持つ異なるテーブルに参加する必要があります。複数のテーブルを持つ複雑なINNER JOINクエリの結果をエコーする
「イベント」はスポーツマッチです。トーナメントテーブルにリンクされたtournament_stageFKを含み、tournament_stageテーブルにはトーナメントテーブルにリンクされているtournamentFKが含まれており、tournament_templateFKはtournament_templateテーブルにリンクされており、スポーツテーブルにリンクされたsportsFKを含みます。
それで、どのスポーツがマッチしているのかを知るために、私はインナージョイントをする必要があります。そうでなければ、何百万回もデータベースをオープンしなければなりません。これを行う唯一の方法はこれですが、結果を表示する方法はわかりません。結果をエコーするために私の貧弱な試みは以下の通りです:
$SQL = "SELECT sport.name,
country.name,
tournament_template.name,
tournament.name,
tournament_stage.name,
event.*
FROM tournament_template
INNER JOIN sport
ON tournament_template.sportFK = sport.id
INNER JOIN tournament ON tournament.tournament_templateFK = tournament_template.id
INNER JOIN tournament_stage ON tournament_stage.tournamentFK = tournament.id
INNER JOIN event ON event.tournament_stageFK = tournament_stage.id
INNER JOIN country ON tournament_stage.countryFK = country.id
WHERE DATE(event.startdate) = CURRENT_DATE()
ORDER BY sport.name ASC,
country.name ASC,
tournament_stage.name ASC,
event.startdate ASC";
$result = mysql_query($SQL);
while($get=mysql_fetch_array($result))
{
echo $result['event.name'];
echo "<br>";
}
ありがとうございます。私のコードに誤りがあったので動かなかったが、あなたの答えは私を解決に導いた。 –
ありがとう、マイケル! –