我无法理解如何从 MySQL 获取数据。答案可能很简单,但我被困住了,无法通过互联网找到任何帮助......
我有三个表,假设第一个表名为系列,第二个表名为团队,第三个表为 id games。 表结构是这样的:
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 查询而不是三个查询中完成此操作。
最佳答案
您需要加入球队表两次(一次为主队,第二次为客队)
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
关于MySQL数据获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11173381/