2012-07-25 35 views
1

我有一个非常简单的MySQL查询retun数据,连接两个表: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"]); 

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

谢谢。

回答

6

对列名使用别名来区分队列表和玩家表中具有相同名称的列。

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等)只是为了使代码尽可能清晰。清除代码==更好的可维护性。

+1

+1第一个22秒:) – 2012-07-25 16:28:18

+1

感谢您的快速回答! – dotminic 2012-07-25 16:31:09