MYSQL在同一个表上多次加入

时间:2016-04-26 18:44:31

标签: mysql sql

我试图拉动所有者和编辑。这两个字段都是INT。在一个简单的表中,例如:

用户:

user_id user_name
-----------------
2       johnny
3       mecca

DOC:

owner content editby
----------------------
2     misc    3

SQL:

SELECT doc.owner, doc.content, doc.editby, users.user_name
FROM doc
LEFT JOIN
    users
ON
users.user_id = doc.owner
WHERE 
    doc_id = $id

我可以获取所有者user_name,但我不确定如何在同一个表上获取editby。如何多次为不同的id字段提取不同的用户名?

1 个答案:

答案 0 :(得分:3)

使用不同的别名

加入users表两次
SELECT doc.owner, doc.content, 
       e.user_name as editor, 
       o.user_name as owner 
FROM doc
LEFT JOIN users o ON o.user_id = doc.owner
LEFT JOIN users e ON e.user_id = doc.editby
WHERE doc_id = $id