我正在使用Retrosheet棒球游戏数据库来帮助我学习SQL(使用mySQL)。它有一个名为游戏的表格,它提供了所有比赛的一般信息:日期,体育场,球队,得分等。它还提供有关球员的信息,如首发投手,阵容,裁判等。但是,所有人都被贴上了标签。使用ID。我有一个查找表,将所有ID与名字和姓氏相匹配。
如果我想从匹配特定游戏的游戏数据库中选择*,但我想从ID表而不是ID中返回名称,有没有办法做到这一点?
更具体地说,我想从游戏中选择game_ID,home_team_id,away_team_id,home_start_pit_id,away_start_pit_id。我想拥有的是投手的真实姓名而不是id。
答案 0 :(得分:3)
假设有一个名为“pitchers”的表,其中包含字段id,first_name,last_name(和其他)
你会做一个简单的连接。
select game_id, home_team_id,home_team_id, away_team_id,
home_team_pitcher.first_name, home_team_pitcher.last_name,
away_team_pitcher.first_name, away_team_pitcher.last_name
from games
join pitchers as home_team_pitcher on pitchers.id = home_start_pit_id
join pitchers as away_team_pitcher on pitcher.id = away_start_pit_id