1.查询所有子节点(包括自己)

SELECT
	ORGAN_ALIAS 
FROM
	sys_stru 
WHERE
	STRU_ID = '797846497214603264' UNION
SELECT
	t.ORGAN_ALIAS 
FROM
	( SELECT * FROM sys_stru WHERE parent_id IS NOT NULL ) t,
	( SELECT @pid := '797846497214603264' ) pd 
WHERE
	FIND_IN_SET( parent_id, @pid ) > 0 
	AND @pid := CONCAT(@pid,',',STRU_ID)

2.查询所有父节点

SELECT
	t2.ORGAN_ALIAS 
FROM
	(
	SELECT
		@r AS _id,
		( SELECT @r := parent_id FROM sys_stru WHERE STRU_ID = _id ) AS parent_id,
		@l := @l + 1 AS lvl 
	FROM
		( SELECT @r := 797846497214603264, @l := 0 ) vars,
		sys_stru 
	WHERE
		@r != 0 
	) t1
	JOIN sys_stru t2 ON t1._id = t2.STRU_ID 
ORDER BY
	t1.lvl DESC
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐