在两列上加入一列

时间:2016-02-04 16:30:53

标签: sql sql-server join

我在连接中创建别名时遇到问题。我可以通过正确的方式获得两个列上的一个列的帮助吗?

表名:[TheERP]。[dbo]。[员工]

表Column1:EmployeeID

表Column2:EFullname

表名:[TheERP]。[dbo]。[工作]

表Column1:JobID

表Column2:JobAcctManID

表Column3:JobSuperID

期望的结果:

表Column1:FullNameJobAcctMan

表Column2:FullNameJobSuper

1 个答案:

答案 0 :(得分:0)

如果我正确地提出你的问题......两次加入同一张桌子

SELECT ae.FullName as FullNameJobAcctMan, se.FullName as FullNameJobSuper   
FROM [TheERP].[dbo].[Jobs] j
Join [TheERP].[dbo].[Employees] ae ON ae.EmployeeID  = j.JobAcctManID
Join [TheERP].[dbo].[Employees] se ON se.EmployeeID = j.JobSuperID

如果Jobs.JobAcctManIDJobs.JobSuperID可能为空,那么您可以使用left加入,并可选择将null值替换为ISNULL ...

SELECT ISNULL(ae.FullName, '') as FullNameJobAcctMan, 
ISNULL(se.FullName, '') as FullNameJobSuper   
FROM [TheERP].[dbo].[Jobs] j
LEFT Join [TheERP].[dbo].[Employees] ae ON ae.EmployeeID  = j.JobAcctManID
LEFT Join [TheERP].[dbo].[Employees] se ON se.EmployeeID = j.JobSuperID