我有两张table,
表 Manager-Employees
有员工和经理记录。managerid和employeeid是关键记录。一个经理可以管理n个或多个员工。
表 Employee
有员工记录。经理和雇员都在这张表里。employeeid列是唯一的id。
下面是我试图从这些表中获取显示managerid、employeeid、managername和employeename的记录。此查询返回重复的行。我怎样才能解决这个问题?数据库是mysql。
SELECT
`employee`.`employeeId` AS `employeeId`,
`manager_employees`.`managerId` AS `managerId`,
`manager`.`fullName` AS `Manager Name`,
`employee`.`fullName` AS `Employee Name`,
`employee`.`employeeRoleTitle` AS `employeeRoleTitle`,
`manager`.`employeeRoleTitle` AS `manageremployeeRoleTitle`
FROM
`Manager-Employees` `manager_employees`
LEFT JOIN
`Employee` `manager`
ON (`manager`.`employeeId` = `manager_employees`.`managerId`)
LEFT JOIN
`Employee` `employee`
ON ( `employee`.`employeeId` = `manager_employees`.`employeeId`);
1条答案
按热度按时间insrf1ej1#
我建议在你的书里找一个复制品
manager-employees
table。或者在你的办公室里复制雇员IDEmployee
table。如果这两个值中的任何一个是真的,那么结果中就会出现重复的结果,唯一的解决方案就是使用select distinct
(或清理源表)