2014-04-19 52 views
0

我試圖使用內部連接不明確的列名錯誤加入

例如提取自4代表的信息:

表C有以下欄目:

F_name, L_Name, A_ID 

TableN具有以下:

Sub, Date, A_ID, N_ID, O_ID 

TableM有以下列:

Desc, Abbr, N_ID 

TableO有以下幾點:

F_name, L_Name, O_ID, 

所以我查詢我正努力爲

Select C.F_Name, C.L_Name, N.Sub, N.Date, M.Desc, M.Abbr, O.F_Name, O.L_Name 
From TableN N 
Inner Join TableC C 
On N.A_ID = C.A_ID 
Inner Join TableM M 
On N.N_ID=M.N_ID 
Inner Join TableO O 
On O.O_ID=N.O_ID 

我所描述的上述情況下,當我運行我收到查詢出現以下錯誤:

歧義列名'F_Name'

+0

使用'AS'關鍵字來命名其名稱爲'F_Name'像'C.F_Name AS CFName' – adaam

+0

的一列,儘管你指定他們各自來自哪個表,你仍然爲結果集選擇2個'F_Name'列 - 'C.F_Name'和'O.F_Name'。給一個或兩個不同的別名 - 「O.F_Name AS O_F_Name」。你也會遇到'L_Name'這個問題。 –

+0

您是否按名稱檢索結果列?例如。否則Oracle不會發出此警告。 – user2672165

回答

2

使用別名。嘗試這個。

Select C.F_Name as CFNAME, C.L_Name as CLNAME, N.Sub, N.Date, M.Desc, M.Abbr, O.F_Name as OFNAME, O.L_Name as OLNAME 
From TableN N 
Inner Join TableC C 
On N.A_ID = C.A_ID 
Inner Join TableM M 
On N.N_ID=M.N_ID 
Inner Join TableO O 
On O.O_ID=N.O_ID