这篇可以借鉴下:
--查询字段列表输入格式为([查询字段名1],[查询字段名2],...),也可用*代替,需要注意的是此处的查询字段列表中的字段与下方内容中定点成员与递归成员查询字段列表内容需一致
with 子查询名称 查询字段列表 as
(
--定点成员
select 查询字段列表 from 查询表名 where 查询条件
union all
--递归成员
select 查询字段列表 from 查询表名 a inner join 子查询名称 on 递归条件 )
select 显示字段名 from 子查询名称