我很难理解如何从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查询中必须有更有效的方法来代替三个。
答案 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