【问题标题】:MySQL join two tables and retun data from both tablesMySQL连接两个表并从两个表中返回数据
【发布时间】:2012-07-25 16:26:25
【问题描述】:

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

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

谢谢。

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    为列名使用别名以区分球队表和球员表中具有相同名称的列。

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

    【讨论】:

      猜你喜欢
      • 2011-09-30
      • 1970-01-01
      • 1970-01-01
      • 2012-12-24
      • 2012-06-05
      • 1970-01-01
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      相关资源
      最近更新 更多