MySQL - 如何从一个表中获取两次Join数据

时间:2014-03-23 10:51:10

标签: mysql

我有两个MySQL表,tbl_userstbl_pagecontent。在tbl_pagecontent内,我有两列' UserCreated'和' UserModified'其中包含tbl_users内的用户ID,以及tbl_users我有ID','用户名'等

我想我的问题是,如何查询行,所以在页面详细信息(标题,内容等)之后,我还会获得创建的用户名和修改后的用户名(使用相应的ID)。我尝试使用左连接,但这只适用于一个链接。

2 个答案:

答案 0 :(得分:1)

tbl_users添加两个左连接,一个来自UserCreated&一个来自UserModified

select u1.Username as CreatedBy, u2.Username as ModifiedBy
from tbl_pagecontent 
left join tbl_users u1 on u1.id = tbl_pagecontent.UserCreated
left join tbl_users u2 on u2.id = tbl_pagecontent.UserModified

答案 1 :(得分:0)

您可以为同一个表分配两个不同的别名。

SELECT * 
FROM tbl_pagecontent p, tbl_users u1, tbl_users u2
WHERE p.usercreated = u1.userid
AND p.usermodified = u2.userid

<强>(OR)

SELECT * 
FROM tbl_pagecontent p
LEFT JOIN tbl_users u1 ON p.usercreated = u1.userid 
LEFT JOIN tbl_users u2 ON p.usermodified = u2.userid