1

最初我创建表名作为empdetails。

empdetails  CREATE TABLE `empdetails` (             
              `ID` int(9) NOT NULL,                 
              `Emp_Name` varchar(30) default NULL,  
              `Supr_ID` int(9) default NULL,        
              PRIMARY KEY  (`ID`)                   
            ) ENGINE=InnoDB DEFAULT CHARSET=latin1 

插入数据为:

insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '1','Project Manager 1','0');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '2','Project Manager 2','0');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '3','Manager 1','1');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '4','Manager 2','2');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '5','Lead 1','3');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '6','Lead 2','3');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '7','Lead 3','3');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '8','Lead 4','3');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '9','Lead 5','3');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '10','Lead 6','3');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '11','Emp 1','6');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '12','Emp 2','7');

我的问题 :

  1. 如果我给 id 那么它将显示 emp_names 任何 emp_names 包含与 Supr_id 相同的 id 也递归(这个问题是用于打印子节点)。

示例:如果我将 1 作为输入,则将 emp_names 输出为Project Manager 1、Manager 1、Lead 1、Lead 2、Lead 3、Lead 4、Lead 5、Lead 6、Emp 1、Emp 2

  1. 如果我给 id 那么它将显示 emp_names 任何 emp_name 包含 id 作为当前 emp_names Supr_id (这个问题是用于打印父节点)

示例:如果我给出 10 作为输入,则将 emp_names 输出为Emp 1、Lead 2、Manager 1、Project Manager 1

请解决这两种情况....

提前致谢。

4

0 回答 0