使用 WITH RECURSIVE不仅可以向上查询所有父节点,也可以查询出下面多层的子数据。
话不多说,先上sql
WITH RECURSIVE r AS (
SELECT id,
remark
FROM xxx
WHERE id = #{id}
UNION ALL
SELECT a.id,
a.remark
FROM xx a
JOIN
r r1
WHERE a.parent_id = r1.id
SELECT DISTINCT id,
remark
FROM r