首页 > 解决方案 > 如何在单个表上应用两列连接

问题描述

我有2张桌子如下,

USER                         
id     name                
================            
1      user1                 
2      user2
3      user3                 

DETAILS 
value    created_by   updated_by 
===================================
abc         1             2 
def         1             3   

是否可以以我的结果结构看起来像这样的方式应用连接,

QUERY RESULT

DETAILS.value    USER.created_by   USER.updated_by 
========================================================
abc                     user1             user2 
def                     user1             user3 

标签: mysqljoin

解决方案


方法之一是加入表两次 -

SELECT D.value `DETAILS.value`, U.name `USER.created_by`, U2.name `USER.updated_by`
FROM DETAILS D
JOIN USER U ON D.created_by = U.id
JOIN USER U2 ON D.updated_by = U2.id 

推荐阅读