hope you can enjoy 😄 !
😇
- 测试数据
CREATE TABLE 部门表(ID int,部门 VARCHAR(10),父ID int);
CREATE TABLE 职工表(部门 VARCHAR(10),姓名 VARCHAR(10));
INSERT INTO 部门表 VALUES(1,'A公司',null);
INSERT INTO 部门表 VALUES(2,'A部',1);
INSERT INTO 部门表 VALUES(3,'B部',1);
INSERT INTO 部门表 VALUES(4,'A部1',2);
INSERT INTO 部门表 VALUES(5,'A部2',2);
INSERT INTO 部门表 VALUES(6,'B部1',3);
INSERT INTO 部门表 VALUES(7,'A部11',4);
INSERT INTO 职工表 VALUES('A部','刘备');
INSERT INTO 职工表 VALUES('A部','关羽');
INSERT INTO 职工表 VALUES('A部1','张飞');
INSERT INTO 职工表 VALUES('A部1','曹操');
INSERT INTO 职工表 VALUES('A部2','孙权');
INSERT INTO 职工表 VALUES('B部', '周瑜');
INSERT INTO 职工表 VALUES('A部11','黄忠');
INSERT INTO 职工表 VALUES('B部','马超');
INSERT INTO 职工表 VALUES('B部','赵云');
- solution
select substr(a.部门,1,2) 部门,count(b.姓名) 人数 from 部门表 a
left join 职工表 b
on a.部门 = b.部门
where b.部门 is not null
group by 1