我有两个表,分别是manager
和employee
。我已经成功地实现了employee
表上的外键约束,一切似乎都很好。但是,每当我查询数据库以查找使用INNER JOIN
将哪个经理分配给哪个员工时,它给我的结果仅限于我拥有的经理id
的数量。例如,如果两个特定的员工分配给同一个经理,它只会给我一个结果,即分配给同一个经理的员工列表。
我尝试使用LEFT JOIN
来查看我想要实现的外部是否实际插入。令我惊讶的是,对于显式地具有与实际工作的列相同的外键的列,它给出了NULL
的结果。由于英语不是我的第一语言,如果你觉得我的描述不清楚,请提前道歉。但是,为了让您更好地了解我试图解释的内容,我的表如下
employee Manager
emploee ID | firstname | lastname | managerid managerid |fname | lastname
1 john doe 1 1 gordon soo
2 ian lee 1 2 justin freeman
3 faye eva 2 3 sai chow
当我尝试LEFT JOIN
:
Employee name |lasttname | ManagerNAme
john doe gordon
ian lee NUll
我试过WHERE
子句,也检查了两个表是否都在INODB上,并且有相同的排序,但我似乎无法修复它。
就我所理解的问题而言,您需要在表上设置一个简单的JOIN
。由于您没有显示您的查询,因此很难说出什么问题。这可能就是你想要的:
SELECT
e.firstname, e.lastname, m.fname
FROM
Manager m
JOIN employee e ON e.managerid = m.managerid