如何解决复杂的MySQL查询以显示两个用户的名称



MySQL数据库中有两个表:

一个表被称为";用户";并且另一个表被称为"表";评估_提交";。

";用户";表包含一个";id";和一个";name";参数

";assessment_ submissions";包含一个";evaluator_user";参数和";evaluated_user";参数,这两个参数都与第一个表上的用户id相关。

当我执行以下SQL查询时:

select * from assessment_submissions
join users
on assessment_submissions.evaluator_user = users.id 
where evaluated_user = 6 and evaluator_user = 3
limit 1

上面的查询给了我";evaluator_user";,但是我想创建一个SQL查询,它给我"的名称;evaluated_user";以及";evaluator_user";在同一行。

我该怎么做?

将提交列表加入用户列表两次,以获得两个用户的

SELECT 
submission.id,
evaluator.name,
evaluated.name 
FROM 
assessment_submissions AS submission
LEFT JOIN
user AS evaluator
ON
submission.evaluator_user = evaluator.id
LEFT JOIN
user AS evaluated
ON
submission.evaluated_user = evaluated.id

使用另一个别名再次加入用户。

类似这样的东西:

SELECT 
as_sub.id, u1.name, u2.name 
FROM 
assessment_submissions as_sub, 
users u1, 
users u2 
WHERE 
u1.id = as_sub.evaluator_user and 
u2.id = as_sub.evaluated_user

最新更新