如何在SQL Server的连接中连接重复的列名?

Abd*_*hab 5 sql sql-server join

我有两个表,一个是Employee,另一个是Dept.

Employee表有哪些是列ID,NameDeptId,和Dept表中的列ID,DeptName.

现在如果写一个查询:

Select 
    ID, Name, ID, DeptName
from 
    Employee
Inner Join 
    Dept On Employee.DeptID = Dept.ID
Run Code Online (Sandbox Code Playgroud)

我收到错误,因为它不知道ID我的意思是哪一列.如何唯一地定义列?

Tim*_*sen 9

只是包括明确的别名distiguish的IDEmployee从表IDDept表.实际上,最好在执行连接时始终通过别名引用列,因此查询应如下所示:

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
Run Code Online (Sandbox Code Playgroud)


Joh*_*tti 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
Run Code Online (Sandbox Code Playgroud)