2015-05-27 70 views
0

我想弄清楚爲什麼我在這個查詢中得到重複的列名。我覺得我正確地爲搜索條件添加前綴,不應該得到這個錯誤。請指教。錯誤1060(42S21):重複的列名'eid'

型號

Emp(eid:integer, ename:varchar, age:integer, salary:integer) 
Works(did:integer, eid:integer) 
Dept(did:integer, managerid:integer) //managerid is foreign key to eid 

查詢

CREATE VIEW Manager AS 
SELECT e.eid, e.ename, e2.eid, e2.ename 
FROM Emp AS e, 
    Dept AS d 
     LEFT JOIN Emp AS e2 ON d.managerid = e2.eid; 

回答

1

嘗試在你的領域的一些別名。見下圖:

CREATE VIEW Manager AS 
SELECT 
     e.eid AS eid1, 
     e.ename AS ename1, 
     e2.eid AS eid2, 
     e2.ename AS ename2 
FROM Emp AS e, 
    Dept AS d 
LEFT JOIN Emp AS e2 ON d.managerid = e2.eid2; 
+0

謝謝你,像一個魅力工作 – cWillBeTheDeathOfMe

+0

歡迎你。至少接受它作爲解決問題的答案。 – Rigel1121

+0

我會一旦時間過去了。 – cWillBeTheDeathOfMe