首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在树形结构中统计公司中的人员

在树形结构中统计公司中的人员
EN

Stack Overflow用户
提问于 2018-06-05 04:14:18
回答 1查看 48关注 0票数 2

你好,我有一个包含companies_id(PK)和parent_companies_id(FK)列的结构表,以及包含companies_id (FK)和people_id(PK)的people表。有些人可以在不同的公司工作。我想要计算包括孩子在内的每个公司的数量。

代码语言:javascript
运行
复制
+------------------+-------------------------+
| companies_id(PK) | parent_companies_id(FK) |
+------------------+-------------------------+
|              101 | null                    |
|              102 | 101                     |
|              103 | 101                     |
|              104 | 103                     |
|              105 | 103                     |
|              106 | 104                     |
+------------------+-------------------------+

+---------------+------------------+
| people_id(PK) | companies_id(FK) |
+---------------+------------------+
|           001 |              101 |
|           002 |              102 |
|           003 |              102 |
|           004 |              104 |
|           005 |              105 |
|           006 |              106 |
+---------------+------------------+

CREATE TABLE COMPANY
  ( Company_ID Integer,
    Parent_ID Integer
  );

CREATE TABLE PEOPLE
  ( People_ID VARCHAR(3),
    Company_ID Integer
  );

INSERT INTO COMPANY VALUES (101,NULL);
INSERT INTO COMPANY VALUES (102,101);
INSERT INTO COMPANY VALUES (103,101);
INSERT INTO COMPANY VALUES (104,103);
INSERT INTO COMPANY VALUES (105,103);
INSERT INTO COMPANY VALUES (106,104);

INSERT INTO PEOPLE VALUES ('001',101);
INSERT INTO PEOPLE VALUES ('002',102);
INSERT INTO PEOPLE VALUES ('003',102);
INSERT INTO PEOPLE VALUES ('004',104);
INSERT INTO PEOPLE VALUES ('005',105);
INSERT INTO PEOPLE VALUES ('006',106);

结果必须是下一个

代码语言:javascript
运行
复制
+--------------+------------+
| companies_id | people_qnt |
+--------------+------------+
|          101 |          6 |
|          102 |          2 |
|          103 |          3 |
|          104 |          2 |
|          105 |          1 |
|          106 |          1 |
+--------------+------------+
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50688125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档