2012-10-20 141 views
2

表是設置如下:連接兩個表,兩列同時顯示多行的單行

fighters: 

fighterid 
firstname 
lastname 
etc 
etc 

matches: 

matchid 
fighteroneid (fighterid FK) 
fightertwoid (fighterid FK) 
etc 
etc 

我想加入這兩個fighteroneid和fightertwoid到它們具有相同的matchid的fighterid(我敢肯定,我已經得到了這部分想通了),但如果我失敗是試圖在一個表中,如下所示顯示它:

firstname lastname vs firstname lastname 

我可以使用COALESCE顯示fighteroneid和fightertwoid例如1比2,但是我怎樣才能鏈接到名和姓每個戰鬥機給予這些ID?

由於提前,

斯賓塞

回答

2
SELECT 
      f1.firstname 
     , f1.lastname 
     , f2.firstname 
     , f2.lastname 
    FROM matches AS m 
     INNER JOIN fighters AS f1 
      ON f1.fighterid = m.fighteroneid 
     INNER JOIN fighters AS f2 
      ON f2.fighterid = m.fightertwoid 
+0

作爲說明,這裏正在使用的技術方法是一個的變體自連接,在同一個表是用不同的別名的加入兩倍普通桌子。 –

+0

謝謝!這工作完美 – Spence