【问题标题】:MySQL Join two tableMySQL连接两个表
【发布时间】:2017-07-27 06:07:10
【问题描述】:

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

用户表如下所示

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,我想像这样选择被引用用户的用户名

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

【问题讨论】:

  • 您的查询在哪里?

标签: mysql sql join


【解决方案1】:

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

 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

【讨论】:

    猜你喜欢
    • 2011-04-27
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 2014-11-07
    相关资源
    最近更新 更多