一尘不染

将同一张表两次连接到不同的列

mysql

我有一张user桌子和一张complaint桌子。

complaint表具有以下结构:

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

所有用户( 投诉者投诉解决者) 都位于table中user

如何编写查询以显示两列的用户名?

这给了我一个:

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

但我不知道如何编写,因此两_by列均显示用户名而不是ID。


阅读 208

收藏
2020-05-17

共1个答案

一尘不染

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
2020-05-17