加入相同的mySql表

时间:2017-03-02 09:08:41

标签: mysql sql

-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相关联。我相信你可以加入该列的同一个表,但不知道如何使用它。

Picture of mySql Database

1 个答案:

答案 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
相关问题