-EmployeeId int(11) PK
-LastName varchar(20)
-FirstName varchar(20)
-ReportsTo int(11)
-Address varchar(70)
-City varchar(40)
-PostalCode varchar(10)
查找居住在同一城市和城市中的所有员工(LastName,FirstName) 与他们的主管一样的邮政编码。
过去几个小时我一直在努力解决这个问题,而且无法超越我的目标。
SELECT *
FROM chinook.employee
WHERE ReportsTo In
(SELECT EmployeeId From chinook.employee);
我正在考虑使用某种类型的连接来实现这项功能。 ReportsTo ID与EmployeeID相关联。我相信你可以加入该列的同一个表,但不知道如何使用它。
答案 0 :(得分:0)
加入桌子是正确的道路。
您可以加入t1.reportsTo = t2.employeeID
,然后使用条件t1.city = t2.city and t1.postalCode = t2.postalCode
select t1.LastName, t1.FirtsName
from chinook.employee as t1
join chinook.employee as t2
on t1.reportsTo = t2.employeeID
where t1.city = t2.city and t1.postalCode = t2.postalCode