您好,登錄后才能下訂單哦!
說明:
parent_id值關聯表自身id列的值,如果其值為-1,則表示該記錄不存在父級記錄,否則表示該記錄存在父級記錄(假設parent_id值為5,則父級記錄id為5),暫且把該記錄自身稱之為子記錄,父級及父父級的記錄稱之為祖先記錄,子級及子子級記錄稱之為后輩記錄
查詢需求
1)根據指定記錄的id,查詢該記錄關聯的所有祖先記錄,并按層級返回祖先記錄name
2)根據指定parent_id,查詢其關聯的的所有后輩記錄id
查詢實現
通過函數調用實現
1)根據指定記錄的id,查詢該記錄關聯的所有祖先記錄,并按層級返回祖先記錄name
#向下遞歸
DROP FUNCTION IF EXISTS queryChildrenSuiteIds;
DELIMITER;;
CREATE FUNCTION queryChildrenSuiteIds(suiteId INT)
RETURNS VARCHAR(4000)
BEGIN
DECLARE childSuiteIds VARCHAR(4000);
DECLARE parentSuiteIds VARCHAR(4000);
SET childSuiteIds='';
SET parentSuiteIds=CAST(suiteId AS CHAR);
WHILE parentSuiteIds IS NOT NULL DO
SET childSuiteIds=CONCAT(parentSuiteIds,',',childSuiteIds);
SELECT GROUP_CONCAT(id)INTO parentSuiteIds FROM tb_testcase_suite WHERE FIND_IN_SET(parent_id,parentSuiteIds)>0;
END WHILE;
RETURN childSuiteIds;
END
;;
DELIMITER;
#調用
SELECT queryChildrenSuiteIds(5);
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。