记录下数据库根据父节点查询搜有的子节点sql语句(不仅仅限于第一级子节点,包括子节点的子节点)

msql数据库格式

SELECT c.DEPT_ID,c.PARENT_DEPT_ID
FROM (
	SELECT @id AS idlist, @lv := @lv + 1 AS lv
		, (
			SELECT @id := GROUP_CONCAT(DEPT_ID SEPARATOR ',')
			FROM cms_department
			WHERE FIND_IN_SET(PARENT_DEPT_ID, @id)
		) AS sub
	FROM cms_department, (
			SELECT @id := "c86ef3a28f92485087d73778ae0bf213", @lv := 0
		) vars
	WHERE @id IS NOT NULL
) t, cms_department c
WHERE FIND_IN_SET(c.PARENT_DEPT_ID, t.idlist)

oracle数据库格式

SELECT c.DEPT_ID, c.PARENT_DEPT_ID
FROM cms_department c
START WITH c.PARENT_DEPT_ID = ‘c86ef3a28f92485087d73778ae0bf213’
CONNECT BY PRIOR c.DEPT_ID = c.PARENT_DEPT_ID
posted @ 2020-10-16 14:42  叶落无蝉鸣  阅读(114)  评论(0)    收藏  举报