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