2014-10-27 69 views
2

我有两个表SQL:如何从另一个表中的表中选择不同的值?

表 '队' 有两列

teamID, 
teamName 

表 '匹配' 有三列

matchID, 
teamID_1, 
teamID_2 

...像图像波纹管:

怎么会我构建了一条select语句,它将根据它们各自的ID将Teams.teamName拉到Match.teamID_1Match.teamID_2

我能做到这一点只有一列或另一个,但不能同时:

SELECT Match.matchID, Teams.teamName 
    FROM Match 
    INNER JOIN Teams ON Match.teamID_1 = Teams.teamID 

OR

SELECT Match.matchID, Teams.teamName 
    FROM Match 
    INNER JOIN Teams ON Match.teamID_2 = Teams.teamID 

回答

4

您可以多次参加同一表。只是别名(t1t2如下所示):

SELECT 
    Match.matchID, 
    t1.teamName, 
    t2.teamName 
FROM Match 
    INNER JOIN Teams t1 ON Match.teamID_1 = t1.teamID 
    INNER JOIN Teams t2 ON Match.teamID_2 = t2.teamID 
相关问题