我有一个user表和一个complaint表。
complaint表具有以下结构:

[opened_by]   [complaint_text]   [closed_by]
 (user_id)         (text)         (user_id)
 (user_id)         (text)         (user_id)
 (user_id)         (text)         (user_id)

所有用户、投诉人和投诉解决人都位于表user中。
如何编写查询来显示两列的用户名?
这给了我一个:
SELECT user.username, complaint.complaint_text
FROM complaint
LEFT JOIN user ON user.user_id=complaint.opened_by

但我不知道如何编写它,所以两列都显示用户名而不是ID。

最佳答案

SELECT
     complaint.complaint_text,
     A.username,
     B.username
FROM
     complaint
     LEFT JOIN user A ON A.user_id=complaint.opened_by
     LEFT JOIN user B ON B.user_id=complaint.closed_by

关于mysql - 在不同的列上连接两次相同的表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3201359/

10-09 23:03