首页 > 解决方案 > 在 2 个表中选择员工及其经理

问题描述

我的数据库中有两张表,一张是员工表,另一张是经理表。我想选择指定经理下的所有员工。

员工表

id  name
1   shivam
2   ravi

经理表

id empId managerId
1    1     2
2    2     1

我想要这种类型的结果

id  name  managername
1  shivam ravi
2  ravi   shivam

标签: mysql

解决方案


这是我运行代码的链接https://sqltest.net/#686252

如果一个表是这样创建的:

create table employee(
    id int auto_increment,
    name varchar(20),
    primary key (id)
);

create table manager(
    id int auto_increment,
    empId int,
    managerId int,
    primary key (id)
);


insert into employee (name) values ('shivam'), ('ravi');
insert into manager (empId,managerId) values (1,2),(2,1);

那么你可以用这个语句得到你想要的结果:

SELECT e.id, e.name, e2.name managername from 
employee as e
join manager as m on m.empId = e.id
join employee as e2 on e2.id = m.managerId;

这是我的结果:

id  name    managername
1   shivam  ravi
2   ravi    shivam

推荐阅读