Как выбрать все дочерние строки - PullRequest
0 голосов
/ 08 октября 2018

У меня есть таблица с 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 ;

Спасибо.

1 Ответ

0 голосов
/ 08 октября 2018

Попробуйте самостоятельно присоединиться

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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...