[英]SELECT or JOIN using two tables with similar columns
One Mentor may mentor several Mentees in a 1:N relationship which is optional on both ends, therefore there may be managers who don't mentor any other managers and also managers who are not mentored by another manager.一个导师可以在 1:N 关系中指导多个被指导者,这在两端都是可选的,因此可能有一些经理不指导任何其他经理,也可能有经理没有由另一位经理指导。 Both Mentors and Mentees are represented by their respective Number which is also their Manager Number from the Manager table.导师和学员都由他们各自的编号表示,这也是他们在经理表中的经理编号。
The Employee table has the following columns: Employee 表具有以下列:
The Manager table contains:管理器表包含:
The Mentor table contains: Mentor 表包含:
I am trying to do a JOIN so that I can see following columns:我正在尝试进行 JOIN 以便可以看到以下列:
I have the following join statement, which does not seem to work and I am unsure why:我有以下 join 语句,它似乎不起作用,我不确定为什么:
SELECT
man.manager_number,
man.employee_number AS mentor_employee,
emp.name AS mentor_name,
man2.employee_number AS mentee_employee,
emp2.name AS mentee_name
FROM
manager man
INNER JOIN
employee emp
ON
emp.employee_number = man.employee_number
INNER JOIN
mentor men
ON
man.manager_number= men.mentor_number
INNER JOIN
employee emp2
ON
emp2.employee_number = man2.employee_number
INNER JOIN
mentor men
ON
man.manager_number= men.mentee_number;
Any help would be greatly appreciated!任何帮助将不胜感激!
Keeping aside the logic you need, you have some issues to fix:撇开您需要的逻辑不谈,您还有一些问题需要解决:
ON
emp2.employee_number = man2.employee_number /* <---- no MAN2 alias */
INNER JOIN
mentor men /* <---- same alias MEN than before */
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.