0

我很难理解如何从 MySQL 中获取数据。答案可能很简单,但我被卡住了,无法通过互联网找到任何帮助......

我有三张桌子,假设第一张桌子是命名系列,第二张是团队,第三张是 id 游戏。表结构是这样的:

series:
id
name

teams:
id
name

games:
series_id (relates to series.id)
hometeam_id (relates to teams.id)
visitorteam_id (relates to teams.id)

所以我的问题是从游戏中获取行,这些 id 需要有名字,而不是 id ......

Result should be something like this:
"championship
wolverines
marines"

not like
"1
45
142"

目前我正在将这些系列和团队表获取到 hashref(在 perl 中)并从那里获取 id。但是必须有更有效的方法在一个 sql 查询而不是三个中执行此操作。

4

1 回答 1

1

您需要加入球队桌两次(一次是主队,第二次是客队)

SELECT g.*,h.name as hometeam_name,v.name as visitorteam_name FROM games g
  INNER JOIN series s ON g.series_id=s.id
  INNER JOIN teams h ON g.hometeam_id=h.id
  INNER JOIN teams v ON g.visitorteam_id=v.id
于 2012-06-23T22:16:01.017 回答