MySQL自定義函式 根據一級部門查詢所有子部門 記錄貼
根據部門id查詢其所有子部門
廢話不多說 直接上函式
mysql函式
SELECT * FROM gkmobile_power_dept WHERE FIND_IN_SET(PK_DEPTDOC,getChild('1044V11000000002UIVQ'))
DELIMITER $$
DROP FUNCTION IF EXISTS getChild $$
CREATE FUNCTION getChild(rootId VARCHAR(40)) RETURNS text CHARSET utf8
BEGIN
DECLARE ptemp VARCHAR(21845);
DECLARE ctemp VARCHAR(21845);
SET ptemp = '#';
SET ctemp =rootId;
WHILE ctemp IS NOT NULL DO
SET ptemp = CONCAT(ptemp,',',ctemp);
SELECT GROUP_CONCAT(PK_DEPTDOC) INTO ctemp FROM gkmobile_power_dept
WHERE FIND_IN_SET(PK_FATHEDEPT,ctemp)>0;
END WHILE;
RETURN ptemp;
END $$
DELIMITER ;

PK_DEPTDOC 部門ID
PK_FATHEDEPT 部門父ID
gkmobile_power_dept 表名
rootId 入參(如果入參是int 換成INT即可)
將這些資料換成你自己資料庫的資料即可
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/205115.html
標籤:其他
上一篇:MySQL索引,事務及存盤引擎
