如何:将一个表中的一列连接到另一个表中的两列?

时间:2015-06-26 20:36:57

标签: sql database join sql-server-2012 jointable

第一篇文章...虽然我多次引用此网站。我有一个表包含两个使用员工ID#的列。另一个表有员工姓名和员工ID#。我试图让员工的名字在一个表中返回两列。

Employee表包含EmployeeNameEmployeeID 作业表包含JobSuperID列中的员工#和JobManID列中的员工#

Select EmployeeName
FROM [DBex].[dbo].[JobStatus] 
Right JOIN [DBex].[dbo].[Employees] 
  ON [DBex].[dbo].[Employees].EmployeeID = [DBex].[dbo].[Jobs].JobSuperID
Right JOIN [DBex].[dbo].[Employees] 
  ON  [DBex].[dbo].[Employees].EmployeeID = [DBex].[dbo].[Jobs].JobAcctManID

我看过使用AS的引用但未能正确使用语法。此外,如果我只选择EmployeeName,如何显示两列?我在哪里错了?

1 个答案:

答案 0 :(得分:1)

我在这里猜一点,但听起来你有一张表通过身份证号码将主管与员工联系起来,并且你想要返回两名员工的姓名。如果这是正确的,以下应该有效:

Select s.EmployeeName as SuperName, m.EmployeeName as ManName
from Jobs a
left join Employees S
  on a.JobSuperID = S.EmployeeID
left join Employees M
  on a.JobManID = M.EmployeeID