如下一张表test:
id name pid
----------- ---------- -----------
1 电器 NULL
2 家电 1
3 冰箱 2
4 洗衣机 2
5 电脑 1
6 笔记本 5
7 平板 5
8 组装机 7
9 品牌机 7
--查询电脑的所有子节点。
可采用标准sql的with实现递归查询:
with subRecord(id,name,pid) as ( select id,name,pid from test where id = 5 union all select test.id,test.name,test.pid from test,subRecord where test.pid = subRecord.id ) select * from subRecord;