SBP_ORG_DEPT表结构如下:
MySQL
用函数 也可解决这种需求问题。
group_concat 不适用数据较多的时候。
函数getParentNodesFromChildNode如下所示(在MySQL数据库中新建函数):
CREATE FUNCTION `getParentNodesFromChildNode`(rootId varchar(1024),sbp_org_dept varchar(256)) RETURNS varchar(1024) CHARSET utf8
BEGIN
DECLARE nParentList VARCHAR(10000);
DECLARE nParentTemp VARCHAR(10000);
SET nParentTemp = rootId;
WHILE nParentTemp IS NOT NULL DO
IF (nParentList IS NOT NULL) THEN
SET nParentList = CONCAT(nParentTemp,',',nParentList);
ELSE
SET nParentList = CONCAT(nParentTemp);
END IF;
SELECT GROUP_CONCAT(parent_id) INTO nParentTemp FROM sbp_org_dept WHERE FIND_IN_SET(id,nParentTemp