1

我有一个非常简单的 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"]);

数组中包含的数据是来自玩家表的数据。我如何还可以访问“团队”表中的数据?

谢谢。

4

1 回答 1

6

使用列名的别名来区分来自 team 表和 player 表的具有相同名称的列。

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 等)使用别名,以使代码尽可能清晰。清晰的代码 == 更好的可维护性。

于 2012-07-25T16:27:30.467 回答