MySQL连接两个表并从两个表返回数据

时间:2012-07-25 16:26:26

标签: php mysql

我有一个非常简单的MySQL查询,它连接两个表:

SELECT teams.id, teams.name, players.id, players.name, players.teamId
FROM teams
LEFT JOIN players
ON teams.id = players.zoneId
WHERE teamId = 3

当我获取行时,我可以使用这样的数据:

echo($row["name"] . ", " . $row["id"]);

数组中包含的数据是来自player表的数据。我怎样才能访问“团队”表中的数据?

感谢。

1 个答案:

答案 0 :(得分:6)

使用列名称别名来区分具有相同名称的team table和players表中的列。

SELECT teams.id as team_id, teams.name as team_name, players.id, players.name, players.teamId
FROM teams
LEFT JOIN players
ON teams.id = players.zoneId
WHERE teamId = 3

然后您可以使用以下内容获取团队名称和团队ID:

$row["team_name"]
$row["team_id"]

如果是我,我还会为播放器字段使用别名(例如player_id等),以使代码尽可能清晰。清除代码==更好的可维护性。