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