需要显示"员工姓名"与两个单独的表

时间:2016-12-10 21:21:46

标签: sql sql-server

我对SQL有些新意,所以感谢您的帮助!

我有3张桌子,我在这里工作:

员工

  • 雇员
  • EmployeeName

项目

  • 专案编号
  • 经理ID

任务

  • 雇员
  • 专案编号
  • askName

我需要构建一个显示任务名称,经理姓名和员工姓名的查询。 ManagerID与Employee表中的EmployeeID具有相同的ID,而Tasks上的EmployeeID与EmployeeID表上该雇员的ID相同。

我知道如何构建查询以将所有内容作为ID获取,但我不确定如何引入Employee Names,因为一个表包含Employee和Manager的名称。

这是我当前的查询:

Select      t.TaskName,
            t.EmployeeID,
            p.ManagerID
From        Tasks as t
                Inner join projects as p on p.ProjectId = t.ProjectID

1 个答案:

答案 0 :(得分:1)

将Employees表加入您的查询两次,为每个查询提供不同的别名:

Select      t.TaskName,
            e1.EmployeeName as Manager,
            e2.EmployeeName as Employee
From        Tasks as t
            Inner join Projects as p on p.ProjectId = t.ProjectID
            Inner join Employees as e1 on p.ManagerID = e1.EmployeeID
            Inner Join Employees as e2 on t.EmployeeID = e2.EmployeeID

希望这有帮助。