SQL新手,有两个ID的表有问题

时间:2014-02-15 14:35:02

标签: sql sql-server database database-design

我在一个赛季中得分为DB,而我在查询时遇到问题,无法返回特定球队的赛季结果。以下是所涉及表格的快照:

Teams (tid, team_name)
Games (home_team_id, road_team_id, game_date, home_score, road_score)

返回home_team_id或road_team_id为1且包含对手的team_name的所有游戏,SQL会是什么样子?

1 个答案:

答案 0 :(得分:2)

没有明确说明问题,但我想您的主要困惑在于如何从team_namehome_team_id获得road_team_id。您可以为此目的执行两次INNER JOIN,例如:

select 
    g.*
    , home.team_name as home_team_name
    , road.team_name as road_team_name
from Games g
    inner join Teams home on home.tid = g.home_team_id
    inner join Teams road on road.tid = g.road_team_id
where g.home_team_id = 1
    or g.road_team_id = 1