【问题标题】:mysql query join three tablesmysql查询连接三个表
【发布时间】:2013-07-13 18:31:37
【问题描述】:

我有三张桌子:

players
------
id|name 

teams
-------
id|name 

teams_players
-------------
id|teamID|playerID

我现在想从表“players”中获取每个条目,其中 player.id 例如在 id 为 15 的团队中。换句话说:我想获取属于特定团队的每个玩家(例如 teamID=15 )

我尝试加入但失败了。

这是我目前得到的:

       "SELECT players.*
        FROM players
        JOIN teams_players
        ON teams_players.teamID = 15 
        GROUP BY players.id"; 

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    你太复杂了。

    select players.*
     from players
     join teams_players
     on players.id = teams_players.playerid
     where teams_players.teamid = 15
    

    JOIN 部分与数字 15 无关。15 是您过滤结果的方式。

    【讨论】:

      【解决方案2】:

      您可以在多个条件下加入您的表格,而且您没有在on 子句中提及您的表格之间的关系

      SELECT players.*
              FROM players
              JOIN teams_players
              ON (players.id = teams_players.playerid AND teams_players.teamID = 15 )
              GROUP BY players.id
      

      【讨论】:

        猜你喜欢
        • 2012-05-02
        • 1970-01-01
        • 2017-03-01
        • 2015-09-23
        • 1970-01-01
        • 1970-01-01
        • 2021-07-07
        • 1970-01-01
        • 2014-02-24
        相关资源
        最近更新 更多