【问题标题】:How to: JOIN one column from one table to 2 columns in the other table?如何:将一张表中的一列加入另一张表中的两列?
【发布时间】:2015-06-26 20:36:56
【问题描述】:

第一篇文章......虽然我已经多次引用这个网站。我有一张表,其中包含使用员工 ID# 的两列。另一个表有员工的姓名和员工 ID#。我正在尝试为一张表中的两列返回员工姓名。

Employee 表包含EmployeeNameEmployeeID Jobs 表在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 我如何显示两列?我哪里错了?

【问题讨论】:

  • 不确定我是否理解这个问题。你能分享一些样本数据和你想要得到的结果吗?

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


【解决方案1】:

我在这里猜测了一下,但听起来您有一个表格,通过 ID 号将主管与员工联系起来,并且您想要返回两个员工的姓名。如果这是正确的,以下应该可以工作:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 2019-04-12
    • 2018-01-17
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    相关资源
    最近更新 更多