我有一个活动表,其中包含一个名为 assigned_to 的列和一个名为 created_by 的列。
两者都引用了具有“名字”和“姓氏”列的用户表。
我知道我们应该加入用户表两次以获取两个名称的值(分配给和创建者)
有没有办法可以通过一次连接查询获得所有这些数据?
答案 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
。