2012-12-21 22 views
0

我有問題連接2表讓我說第一個表的名稱國名(這是數字)的列,它提取描述(可能是美國,中國等)取決於第一個表的國籍代碼。所以我嘗試了內部連接表,所以第一個內部連接很好,並且工作完美。Oracle/plsq內部連接多列到表一列

這裏是代碼:

SELECT person.firstnm, person.middlenm, person.lastnm, refcd.description 
FROM person 
INNER JOIN refcd 
ON person.natcd = refcd.id; 

然而,當我嘗試加入來自第一個表中的第二欄讓說,列名gencd(gendercode它的外鍵),但是當我更新了查詢內部連接2列從一個表中獲取第二個表中的一列的值我得到這個錯誤。 「Column ambigously defined」我得到這個錯誤,我明白這個問題是有無論如何實現我想要的輸出?我想加入2表,具體如表2

這裏是我更新的查詢表1加入2列1列:

SELECT person.firstnm, person.middlenm, person.lastnm, refcd.description 
FROM person 
INNER JOIN refcd 
ON person.natcd = refcd.id 
INNER JOIN refcd 
ON person.gencd = refcd.id; 

幫助真的讚賞。

回答

1

您的查詢應該是

SELECT person.firstnm, person.middlenm, person.lastnm, refcd.description 
FROM person INNER JOIN refcd ON person.natcd = refcd.id 
INNER JOIN refcd R2 ON person.gencd = R2.id;