向上递归
SELECT
GROUP_CONCAT( s.NAME SEPARATOR "-" )
FROM
(
SELECT
T2.id,
T2.NAME
FROM
(
SELECT
@r AS _id,
( SELECT @r := parent_id FROM shop_area WHERE id = _id ) AS 2v2,
@l := @l + 1 AS lvl
FROM
( SELECT @r := '130225' ) vars,
shop_area h
WHERE
@r <> 0
) T1
JOIN shop_area T2 ON T1._id = T2.id
ORDER BY
T2.id
) s
向下递归
SELECT
group_concat( T1._id ) AS id
FROM
(
SELECT
@r AS _id,
(
SELECT
@r := group_concat( f.dj_dzzjg_id )
FROM
dj_zzjg so
LEFT JOIN dj_zzjg f ON so.dj_dzzjg_id = f.dj_dzzjg_id
WHERE
FIND_IN_SET ( so.dzzjg_parent_id, _id )
) AS parent_id,
@l := @l + 1 AS lvl
FROM
( SELECT @r := '45', @l := 0 ) vars,
dj_zzjg h
WHERE
@r <> 0
) T1