内部连接松散相关的表和多个关系
Inner Join with loosely related tables and multiple relations
在 table 如果我有:
FixtureID, HomeTeam, AwayTeam
浏览器显示的HomeTeam和AwayTeam相关ID可以替换吗? HomeTeam 和 AwayTeam 都与 Teams table.
中的 TeamID 相关
我想显示所有灯具,然后将 "TeamID" 替换为 "TeamName" 以便显示名称而不是 ID?
到目前为止我有:
$sql = <<<SQL
SELECT fix.*, tea.*
FROM Fixtures fix
INNER JOIN Teams tea USING (TeamID)
SQL;
然后
echo '<p>Fixtures</p>';
echo '<div>'.$row['HomeTeam'].' v '.$row['AwayTeam'].'</div>';
编辑:
好的,所以我找到了一个与我需要的类似的 post,并尝试了以下方法:
$sql = <<<SQL
SELECT fix.*, tea1.*, tea2.*
FROM Fixtures fix
INNER JOIN Teams tea1 ON fix.HomeTeam = tea1.TeamID
INNER JOIN Teams tea2 ON fix.AwayTeam = tea2.TeamID
SQL;
但是它仍然只显示团队 ID 而不是团队名称 table。
自己解决了
$sql = <<<SQL
SELECT f.*, t1.TeamName 'HomeTeam', t2.TeamName 'AwayTeam'
FROM Fixtures f
INNER JOIN Teams t1 ON f.HomeTeam = t1.TeamID
INNER JOIN Teams t2 ON f.AwayTeam = t2.TeamID
SQL;
在 table 如果我有:
FixtureID, HomeTeam, AwayTeam
浏览器显示的HomeTeam和AwayTeam相关ID可以替换吗? HomeTeam 和 AwayTeam 都与 Teams table.
中的 TeamID 相关我想显示所有灯具,然后将 "TeamID" 替换为 "TeamName" 以便显示名称而不是 ID?
到目前为止我有:
$sql = <<<SQL
SELECT fix.*, tea.*
FROM Fixtures fix
INNER JOIN Teams tea USING (TeamID)
SQL;
然后
echo '<p>Fixtures</p>';
echo '<div>'.$row['HomeTeam'].' v '.$row['AwayTeam'].'</div>';
编辑:
好的,所以我找到了一个与我需要的类似的 post,并尝试了以下方法:
$sql = <<<SQL
SELECT fix.*, tea1.*, tea2.*
FROM Fixtures fix
INNER JOIN Teams tea1 ON fix.HomeTeam = tea1.TeamID
INNER JOIN Teams tea2 ON fix.AwayTeam = tea2.TeamID
SQL;
但是它仍然只显示团队 ID 而不是团队名称 table。
自己解决了
$sql = <<<SQL
SELECT f.*, t1.TeamName 'HomeTeam', t2.TeamName 'AwayTeam'
FROM Fixtures f
INNER JOIN Teams t1 ON f.HomeTeam = t1.TeamID
INNER JOIN Teams t2 ON f.AwayTeam = t2.TeamID
SQL;