我的代码:
SELECT eval_table.form, teacher_table.name AS Subject, teacher_table.name0 AS Author
FROM `eval_table`
JOIN `teacher_table` ON eval_table.subj = teacher_table.user_id;
结果:
您可以对teacher_table
进行第二次连接,然后按照指示返回结果。
下面的SQL给出了一个这样的例子:
SELECT et.form,
tt1.name AS Subject,
tt2.name0 AS Author
FROM eval_table et
INNER JOIN teacher_table tt1 ON tt1.user_id = et.subj
INNER JOIN teacher_table tt2 ON tt2.user_id = et.auth;
在本例中,到teacher_table
的第一个连接在user_id = et.subj
上,按照现有的连接,并使用别名tt1
。第二个连接在user_id = et.auth
上,使用别名tt2
。
使用上面的方法,您可以在不同的列上对同一个表进行多个连接。使用别名表名(即et
,tt1
和tt2
)可以多次使用同一个表,但在输出中唯一地引用它们。
请注意,SQL是未测试的,但应该给出如何继续的指示。
您想要别名表,使您可以像使用不同的表一样使用它:
SELECT evaluations.form, teachers.name, evaluators.name
FROM evaluations
JOIN teachers
ON evaluations.subject = teachers.name
JOIN teachers AS evaluators
ON evaluations.evaluator = evaluators.name;
作为题外话,我冒昧地稍微标准化了命名方案。使用复数或单数,大写或不大写,但要保持一致。表不需要_table后缀。他们知道自己是什么。