所以当我指定查询 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/