从连接表中连接多个id

时间:2017-08-15 05:54:41

标签: mysql sql join

我有这样的表

员工

id  | employee |
1   | gorg     |
2   | ocle     |
3   | oke      |

任务

id  | employeeId1 | employeeId2
1   |  1          |    1
2   |  3          |    2

查询

SELECT a.employeeId1, 
       b.employee as employee1, 
       a.employeeId2, 
       c.employee as employee2, 
FROM `Task` a 
LEFT OUTER JOIN Employee b on a.employeeId1 = b.id 
LEFT OUTER JOIN Employee c on a.employeeId2 = c.id

结果

id  | employeeId1 | employee1  |  employeeId2 | employee2
1   |  1          |    gorg    |    1         |   gorg
2   |  3          |    oke     |    2         |   ocle

在我的查询中,我必须使用Task加入Employee表以获取员工的姓名。在第一次加入时,我加入了Employee Table以获取employeeId1的员工姓名,但在我的任务的下一栏中,还有另一个员工ID,所以我再次加入Employee以获取employeeId2中的员工姓名

有没有更好的方法可以阻止从第一个连接表加入同一个表?

0 个答案:

没有答案