2016-11-17 26 views
0

我有2代表這樣一個MySQL的許多列匹配到一個與左連接

name | fNatId | mNatId 
======================= 
Smith |  1 |  1 
Doe |  1 |  0 
Owen |  0 |  2 

而這一次

id | countryName 
================ 
0 | U.S. 
1 | U.K. 
2 | Canada 

我想第一個表格轉換成該

Name | Father's Nationality | Mother's Nationality 
===================================================== 
Smith | U.K.     | U.K. 
Doe  | U.K.     | U.S. 
Owen | U.S.     | Canada 

我該怎麼做?使用兩個LEFT JOIN的投球Not unique table/alias錯誤。只使用一個可以將兩列匹配到父親或母親的列。

回答

2

您需要爲您的表使用唯一的別名。考慮到你的第一張桌子是users,第二張桌子是countries,你試過這種方式嗎?以下應該完全按照您的要求工作。

SELECT u.name as Name, c1.countryName as FathersNationality, c2.countryName as MothersNationality 

FROM users as u 

LEFT JOIN countries as c1 ON c1.id = u.fNatId 

LEFT JOIN countries as c2 ON c2.id = u.mNatId