SQL查找表,每行有多个ID

时间:2013-07-07 00:14:10

标签: mysql

我正在使用Retrosheet棒球游戏数据库来帮助我学习SQL(使用mySQL)。它有一个名为游戏的表格,它提供了所有比赛的一般信息:日期,体育场,球队,得分等。它还提供有关球员的信息,如首发投手,阵容,裁判等。但是,所有人都被贴上了标签。使用ID。我有一个查找表,将所有ID与名字和姓氏相匹配。

如果我想从匹配特定游戏的游戏数据库中选择*,但我想从ID表而不是ID中返回名称,有没有办法做到这一点?

更具体地说,我想从游戏中选择game_ID,home_team_id,away_team_id,home_start_pit_id,away_start_pit_id。我想拥有的是投手的真实姓名而不是id。

1 个答案:

答案 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