Mysql连接表与2 Foriiegn键同一个表

时间:2016-10-06 10:59:46

标签: php mysql join

我有一个活动表,其中包含一个名为 assigned_to 的列和一个名为 created_by 的列。
两者都引用了具有“名字”和“姓氏”列的用户表。

我知道我们应该加入用户表两次以获取两个名称的值(分配给和创建者)

有没有办法可以通过一次连接查询获得所有这些数据?

1 个答案:

答案 0 :(得分:1)

您需要两次加入users表。表别名的使用很重要:

select a.*, ua.name as assigned_name, uc.name as created_name
from activities a left join
     users ua
     on a.assigned_to = ua.user_id left join
     users uc
     on a.created_by = uc.user_id;

如果未填充left join中的一列,则您希望使用activities