php - MySQL连接查询超过1个id

标签 php mysql sql join

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

假设有2张表:

竞争

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

Competition 表通过 player.id 引用 Player

播放器

  • 身份证(主键)
  • 姓名
  • 等级
  • 性别

问题是我想从表<中检索p1 名称p2 名称p3 名称强>竞争...

最佳答案

加入表播放器三次以获得它的等效值,

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

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

关于php - MySQL连接查询超过1个id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14672795/

相关文章:

mysql - 返回所有记录的不同 MySQL 查询

mysql - COUNT(*) 和有

php - 检查用户是否在兼容模式下使用 IE

java - 从 mysql 检索数千条记录时提高性能

php - 在 Woocommerce 页面中更改 &lt;title&gt;

mysql - 多条记录的最后 5 条相关记录

mysql - 高级搜索功能 - SQL

sql - 用于在 UPDATE 中切换 bool 值的 JPA 查询

php - mysql_query() 期望参数 1 为字符串

php - 通过超链接发布数据