2016-10-02 124 views
2

我有兩個表格,一個是Employee,另一個是Dept如何在SQL Server連接中連接重複的列名稱?

Employee表有其是IDName,並DeptId列,Dept表具有列IDDeptName

現在,如果編寫一個查詢:

Select 
    ID, Name, ID, DeptName 
from 
    Employee 
Inner Join 
    Dept On Employee.DeptID = Dept.ID 

我得到一個錯誤,因爲它不知道我的意思是這ID列。我如何唯一地定義列?

+0

請檢查您的Dept表,它是否有列ID? –

+0

是的,表部了。問題已解決。實際上,我需要將左表中的列與右表中的列區分開來。 –

回答

3

就包括明確的別名從Dept表中的列ID在distiguish的Employee表中的列ID。其實,這是最好的做法是總是用別名做時加入,讓您的查詢應該是這個樣子指柱:

SELECT e.ID AS employeeID, 
     e.Name, 
     e.DeptId, 
     d.ID AS deptID, 
     d.DeptName 
FROM Employee e 
INNER JOIN Dept d 
    ON e.DeptID = d.ID 
+1

工作完美。它幫助了很多!謝謝。 –

4

使用別名

Select E.ID as EmpID 
    , E.Name 
    , D.ID as DepID 
    , D.DeptName 
From Employee E 
Inner Join Dept D 
On E.Employee.DeptID = D.Dept.ID 
0

您也可以使用表名作爲限定詞,而不是一個別名:

Select 
    Employee.ID, Employee.Name, Dept.ID, Dept.DeptName 
from 
    Employee 
Inner Join 
    Dept On Employee.DeptID = Dept.ID