MySQL数据获取

时间:2012-06-23 22:10:45

标签: mysql

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

我有三张桌子,让我们说第一张桌子被命名为系列,第二张是球队和第三场比赛。 表结构是这样的:

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查询中必须有更有效的方法来代替三个。

1 个答案:

答案 0 :(得分: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