【问题标题】:Triple join in sqlitesqlite中的三重连接
【发布时间】:2017-03-27 14:27:26
【问题描述】:

我有一个非常简单的 sqlite 篮球运动员/助攻模型:

  • 带有 id、name 和 team_id 的玩家表
  • 带有id、player_id和to_id的辅助表 其中 player_id 是指助攻球员,to_id 字段表示助攻的接受者。

现在,我很不擅长裸 sql。我可以使用

检索所有助攻
SELECT players.name, teams.name, assists.to_id
FROM players
JOIN teams 
on players.team_id = teams.id
JOIN assists
on assists.player_id = players.id

它给了我助攻球员的名字、球队的名字和接受者的 ID(比如:Kobe Bryant, LA Laker, 342)。我必须添加什么才能获得收件人的姓名而不是裸 ID?它来自同一个玩家表。

【问题讨论】:

  • 提示:您需要另一个加入 players。和表别名。

标签: sql sqlite join


【解决方案1】:

应该这样做:

SELECT p.name, t.name, a.to_id, p2.name
FROM players p
JOIN teams t on p.team_id = t.id
JOIN assists a on a.player_id = p.id
LEFT JOIN players p2 on a.to_id = p2.id

【讨论】:

  • 就是这样。我了解您的徽标。
猜你喜欢
  • 1970-01-01
  • 2011-02-23
  • 2016-01-08
  • 1970-01-01
  • 2023-04-08
  • 2021-05-17
  • 2015-09-23
  • 2016-08-26
  • 1970-01-01
相关资源
最近更新 更多