如何选择所有子行

v1l68za4  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(250)

我有一个带有id,name和parentid的表,如下所示

Id      Name      ParentId
----+----------+---------
 1      jijo        0
 2      arjun       1(Id)
 3      dijo        2(Id)

当我写一个条件id=3时,我想要得到所有的子行。我试过很多密码,但不走运。。。。

DELIMITER //
DROP PROCEDURE IF EXISTS `view_master_data_child_rows` //
CREATE  PROCEDURE `view_master_data_child_rows`(IN SearchID INT) 
  DECLARE ParentId INT DEFAULT SearchID;

  IF ParentId != 0 THEN
    SELECT `ParentId ` INTO ParentId FROM master_data WHERE `Id` = ParentId;
    CALL view_master_data_child_rows(ParentId);
  END IF;

END //
DELIMITER ;

谢谢。

5f0d552i

5f0d552i1#

尝试自动加入

SELECT A.Id, A.Name,B.ID, B.Name
FROM master_data AS A
LEFT JOIN master_data AS B ON A.Id = B.ParentId
WHERE A.Id = 3;

相关问题