【问题标题】:MySQL join query for more than 1 idMySQL连接查询超过1个id
【发布时间】:2013-02-03 13:07:53
【问题描述】:

所以我在为 2 个超过 1 个 id 的连接表指定查询时遇到了这个问题。

假设有 2 个表:

表比赛

  • p1_id(varchar)(FK)
  • p2_id(varchar)(FK)
  • p3_id(varchar)(FK)

table Competition通过player.id

引用tablePlayer

表播放器

  • 身份证(PK)
  • 姓名
  • 级别
  • 性别

问题是我想从Competition表中检索p1 name、p2 name和p3 name...

【问题讨论】:

    标签: php mysql sql join


    【解决方案1】:

    加入桌面玩家thrice 以获得它的等效值,

    SELECT  a.*,
            b.name Player1_Name,
            c.name Player2_Name,
            d.name Player3_Name
    FROM    Competition a   
            INNER JOIN player b
                a.p1_ID = b.ID
            INNER JOIN player c
                a.p2_ID = c.ID
            INNER JOIN player d
                a.p3_ID = d.ID
    

    如果表competition 中的一列可为空,最好使用LEFT JOIN 而不是INNER JOIN。

    要全面了解联接,请访问以下链接:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-08
      相关资源
      最近更新 更多