0
这是我不得不面对的任务:sql show current instance
列出雇用期间在部门间转移的员工。你应该显示他们当前的部门,以及转移到当前部门的日期。这是一个非常艰难的查询。我的解决方案是使用子查询来确定哪些员工在多个部门中,并在基本查询中使用该结果。
问题是我不知道如何显示已转移且仅转移一次的员工。告诉员工是否已被转移的方式是,如果在EmployeeDepartmentHistory表中,员工ID已经在多个记录中(即employeeID1在记录1和记录2中,因为该人员在两个部门中)。我将如何去做这件事?这是我现在所拥有的:
SELECT EmployeeDepartmentHistory.EmployeeID,Person.Contact.FirstName, Person.Contact.LastName, Department.Name
From HumanResources.Department INNER JOIN
HumanResources.EmployeeDepartmentHistory ON
HumanResources.Department.DepartmentID =
HumanResources.EmployeeDepartmentHistory.DepartmentID INNER JOIN
HumanResources.Employee ON HumanResources.EmployeeDepartmentHistory.EmployeeID
= HumanResources.Employee.EmployeeID INNER JOIN
Person.Contact ON HumanResources.Employee.ContactID = Person.Contact.ContactID
WHERE EmployeeDepartmentHistory.EmployeeID=(SELECT COUNT(HumanResources.EmployeeDepartmentHistory.EmployeeID)
FROM HumanResources.EmployeeDepartmentHistory
WHERE EmployeeDepartmentHistory.EmployeeID = Employee.EmployeeID
Group by EmployeeDepartmentHistory.EmployeeID)
这是一个练习中,我们从来没有在课堂上。这仅仅是我个人的知识 – user974047