我是SQL的新手,所以请多多包涵。我设法获得了每个雇员的输出列表,他们的职称以及他们向(即他们的经理)报告的雇员的雇员ID。我一辈子都想不起来如何正确添加另外两列(ManagerName
和ManagerJobTitle
),并在其中添加必要的正确信息。
到目前为止,这是我的查询。
Select (FirstName + ' ' + LastName) as EmployeeName, Title as JobTitle, ReportsTo
From Employees E
Order By ReportsTo
您没有为表显示任何模式,但是从查询中我可以看到您缺少与manager表的连接,这应该是那两列的所在。
编辑:好的,现在我明白了。员工表与其自身相关。您没有为表指定PK,所以我假设Employee有一个ID。如果键是另一列,只需在下面的查询中进行更改:
Select (E FirstName + ' ' + E.LastName) as EmployeeName,
E.Title as JobTitle,
(R.FirstName + ' ' + R.LastName) as 'ManagerName',
R.Title as 'ManagerTitle'
From Employees E
LEFT JOIN
Employees R ON E.ReportsTo = R.Id
Order By ReportsTo
编辑2:从更改INNER JOIN
为LEFT JOIN
,因为员工没有经理。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句