只确认一个外键



我有两个表,分别是manageremployee。我已经成功地实现了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

最新更新