因此,当我为 2 个超过 1 个 id 的连接表指定查询时,我遇到了这个问题。
假设有 2 个表:
餐桌比赛
- p1_id(varchar)(FK)
- p2_id(varchar)(FK)
- p3_id(varchar)(FK)
桌位比赛通过player.id引用桌位玩家
桌上播放器
- 身份证(PK)
- 姓名
- 等级
- 性别
问题是我想检索p1 name
,p2 name
并p3 name
从表竞争...
加入桌面玩家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
。
要全面了解联接,请访问以下链接: