我在连接中创建别名时遇到问题。我可以通过正确的方式获得两个列上的一个列的帮助吗?
表名:[TheERP]。[dbo]。[员工]
表Column1:EmployeeID
表Column2:EFullname
表名:[TheERP]。[dbo]。[工作]
表Column1:JobID
表Column2:JobAcctManID
表Column3:JobSuperID
期望的结果:
表Column1:FullNameJobAcctMan
表Column2:FullNameJobSuper
答案 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.JobAcctManID
或Jobs.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