我有X级别的多个孩子的MLM结构(不是二叉树营销)所以表格包括:parentid和managerid(孩子) . 看起来像这张照片:

正如您所看到的,Manager 1是parentid = 0的主要经理 . 每个经理可以有0到XXX的孩子 . 对于经理1,经理X是他的第4级(等级不限)

所以问题是:“我怎样才能将所有managerid归结为确切的父ID?”即经理2(其中有3个级别和6个经理)或经理6(其中有2个级别和5个经理) .

数据库:MySql

CREATE TABLE `accounts` (
  `id` int(11) NOT NULL,
  `managerid` varchar(32) COLLATE utf8_unicode_ci DEFAULT '',
  `parentid` varchar(32) COLLATE utf8_unicode_ci DEFAULT '',
  `name` varchar(256) COLLATE utf8_unicode_ci DEFAULT '',
  `regdate` date DEFAULT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

编辑:所以我正在寻找将返回所有managerid for a parentid的查询(不使用mysql存储过程) . 即简单的INSERT

id,managerid,parentid,name,regdate
1,1000,0,name1,2018-12-10
2,1001,1000,name2,2018-12-10
3,1002,1001,name3,2018-12-10
4,1003,1002,name4,2018-12-10
5,1004,1003,name5,2018-12-10
6,1005,1004,name6,2018-12-10
7,1006,1005,name7,2018-12-10
8,1007,1006,name8,2018-12-10
9,1008,1007,name9,2018-12-10
10,1009,1008,name10,2018-12-10
11,1010,1009,name11,2018-12-10
12,1011,1010,name12,2018-12-10
13,1012,1011,name13,2018-12-10
14,1013,1012,name14,2018-12-10
15,1014,1013,name15,2018-12-10
16,1015,1014,name16,2018-12-10
17,1016,1015,name17,2018-12-10
18,1017,1016,name18,2018-12-10
19,1018,1017,name19,2018-12-10

所以在这个例子中,manager = 1000有18个孩子经理1005有13个孩子

我需要输入parentid = 1005(经理1005)计算他所有的孩子并得到数字= 13