MySQL加入两个表

时间:2017-07-26 21:47:45

标签: mysql sql join

我正在进行使用用户和参考表的查询。

用户表看起来像这样

user_id | user_name
1       | john
2       | smith
3       | sunny

和引用看起来像这样,其中reference_id是user.user_id的外键

id | user_id | reference_id
1  | 2       | 1
2  | 3       | 1

我可以加入这些表并获得以下结果

id | user_name | reference_id
1  | smith     | 1

但我想做的是代替reference_id我想选择引用用户的user_name这样

quote_id | user_name | user_name(reference)
1        | smith     | john

1 个答案:

答案 0 :(得分:0)

您必须两次加入用户表,然后

 SELECT * FROM 
   reference r 
   INNER JOIN
   user u1 
   ON
     r.user_id = u1.user_id

   INNER JOIN
   user u2
   ON
     r.reference_id = u2.user_id

SQL小提琴:http://sqlfiddle.com/#!9/9469e/12/0