員工表
EmployeeNumber (PK)
PersonID
ReportstoManagerEmployeeNumber (i.e.- the employee number of the employee's manager)
名稱表
PersonID (PK)
FirstName
LastName
我想顯示 FirstName, LastName, EmployeeNumber, ReportstoManagerEmployeeNumber , Firstname as managerfirstname, LastName as managerlastname
基本上我想選擇 ReportstoManagerEmployeeNumber 列的名字和姓氏
我試過的:
SELECT n.FirstName, n.LastName, emp.EmployeeNumber,
emp.ReportstoManagerEmployeeNumber, n.firstname as managerfirstname, n.lastname as managerlastname
FROM Names n
INNER JOIN employees emp
ON n.personID = emp.personID
INNER JOIN employees emp2
ON n.personID = emp2.personID
我在考慮自我加入,但這行不通,因為這只是從第一列和第二列中選擇員工的姓名。我是 SQL 的新手,但我認為需要子查詢或 CTE,但我不確定如何設定它。
澄清一下——John Smith 在 Names 表中有 personID = 1,但在 employee 表中有 employeeID = 2。
uj5u.com熱心網友回復:
相反,您需要加入 2 個姓名表,一個用于員工,一個用于經理
SELECT
emp.EmployeeNumber,
n.FirstName,
n.LastName,
emp.ReportstoManagerEmployeeNumber,
n1.firstname AS managerfirstname,
n1.lastname AS managerlastname
FROM
employees emp
INNER JOIN
Names n ON n.personID = emp.PersonID
INNER JOIN
employees emp2 ON em2.EmployeeNumber= emp.ReportstoManagerEmployeeNumber
INNEr JOIN
Names n1 ON n1.personID = emp2.personID
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/536559.html
上一篇:如何顯示昵稱而不是外鍵?
