我有两个表,一个是Employee
,另一个是Dept
。
Employee
表包含ID
,Name
和DeptId
列,Dept
表格列ID
,{{ 1}}。
现在如果写一个查询:
DeptName
我收到错误,因为它不知道我的意思是哪个Select
ID, Name, ID, DeptName
from
Employee
Inner Join
Dept On Employee.DeptID = Dept.ID
列。如何唯一地定义列?
答案 0 :(得分:7)
只需包含显式别名即可从ID
表格中的Employee
列中清除ID
表格中的Dept
列。实际上,最佳做法是始终在进行连接时通过别名引用列,因此您的查询应如下所示:
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 :(得分:5)
使用别名
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
答案 2 :(得分:1)
您也可以使用表名作为限定符而不是别名:
Select
Employee.ID, Employee.Name, Dept.ID, Dept.DeptName
from
Employee
Inner Join
Dept On Employee.DeptID = Dept.ID