【问题标题】:Query to fetch row values (first_name & last_name) using foreign key使用外键查询以获取行值(first_name 和 last_name)
【发布时间】:2020-12-28 00:38:45
【问题描述】:

SQL 和 MySQL 新手。

在下表中,我有一个员工表,其中 emp_id 是员工的 ID,super_id 是主管的员工 ID。这里 super_id 被分配为员工表本身的外键。

现在我需要获取一个包含三列的表:first_name(主管)、last_name(主管)和受此员工监督的员工计数。

例如:

David     Wallace   3
Michael   Scott     3
Josh      Porter    2

提前致谢

【问题讨论】:

    标签: mysql sql mysql-workbench


    【解决方案1】:

    这是一个自联接:

    select tsuper.first_name, tsuper.last_name, count(*)
    from t join
         t tsuper
         on t.super_id = tsuper.emp_id
    group by tsuper.first_name, tsuper.last_name;
    

    【讨论】:

    • SELECT e.emp_id, e.first_name, e.last_name, COUNT(e2.super_id) FROM employee AS e, employee AS e2 WHERE e2.super_id = e.emp_id GROUP BY e.first_name, e 。姓;我使用此命令将您的答案作为参考,它就像一个魅力。也感谢您的编辑和回答。但是我没有在这里专门使用 JOIN,你能解释一下有什么区别
    • @TechLearner 。 . .您正在使用已被 JOIN 取代数十年的古老语法。正确学习 SQL。
    猜你喜欢
    • 1970-01-01
    • 2016-01-10
    • 2019-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多