从另一个表打印两个列值的SQL查询

时间:2015-04-04 18:12:54

标签: mysql sql join inner-join

提前感谢我知道我的问题肯定会在接下来的几分钟内解决。

我有两个表格,一个用于用户数据,另一个用于请求表格。 请求表包含用户向其他用户提供的所有请求的记录。这些用户详细信息由表一用户承载。

现在需要从请求表中检索数据,其中包含发送请求的用户名和收到请求的用户,而不是 request_by ID request_to id < /强>

正如大家都知道的那样,我是MySQL的初学者,所以不要介意我的查询,如下所示。

select r.*
     , u.user_name as request_by
     , u.user_name as request_to
from req_value r 
left join user u on r.req_to = u.user_id
                 or r.req_by = u.user_id

1 个答案:

答案 0 :(得分:0)

INNER JOIN表需要2个user才能获得2个不同列的namereq_toreq_by

select r.*
     , u1.user_name as request_by
     , u2.user_name as request_to
from req_value r  
join user u1 on r.req_by = u1.user_id
join user u2 on r.req_to = u2.user_id