如何在SQL Server连接中连接重复的列名称?
问题描述:
我有两个表格,一个是Employee
,另一个是Dept
。如何在SQL Server连接中连接重复的列名称?
的Employee
表有其是ID
,Name
,并DeptId
列,Dept
表具有列ID
,DeptName
。
现在,如果编写一个查询:
Select
ID, Name, ID, DeptName
from
Employee
Inner Join
Dept On Employee.DeptID = Dept.ID
我得到一个错误,因为它不知道我的意思是这ID
列。我如何唯一地定义列?
答
就包括明确的别名从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
工作完美。它帮助了很多!谢谢。 –
答
使用别名
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
答
您也可以使用表名作为限定词,而不是一个别名:
Select
Employee.ID, Employee.Name, Dept.ID, Dept.DeptName
from
Employee
Inner Join
Dept On Employee.DeptID = Dept.ID
请检查您的Dept表,它是否有列ID? –
是的,表部了。问题已解决。实际上,我需要将左表中的列与右表中的列区分开来。 –