2

我有两个表,即manageremployee。我已经成功地在employee表上实现了外键约束,并且一切似乎都运行良好。但是,每当我查询数据库以找出哪个经理分配给了哪个员工 usingINNER JOIN时,它给我的结果仅限于id我拥有的 manager 的数量。例如,如果将 2 名特定员工分配给同一位经理,则根据分配给同一位经理的员工列表,它只会给我一个结果。

我尝试使用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 上并且具有相同的排序规则,我也尝试过子句,但我似乎无法修复它。希望你能帮忙。

4

1 回答 1

0

据我了解这个问题,你需要一个简单JOIN的桌子。由于您没有显示您的查询,因此很难说出了什么问题。这可能是你想要的:

SELECT 
    e.firstname, e.lastname, m.fname
FROM
    Manager m    
    JOIN employee e ON e.managerid = m.managerid
于 2013-04-29T04:40:29.970 回答