sql返回嵌套结果集?

Ron*_*onn 2 sql t-sql sql-server hierarchical-data

是否可以让单个 sql 查询返回嵌套结构,而不是进行递归数据库调用来构建数组或对象?

我正在使用类似于此伪代码的东西来构建:

parentCategory = 'SELECT * 
                    FROM Category 
                   WHERE child_category IS NULL 
                     AND ParentIDNo IS NULL';   

while parentCategory do
      childCategory = 'SELECT * 
                         FROM Category 
                        WHERE parent_id = parentCategory.id'; 
   if (parentCategory.id)
      do recursive  'SELECT * 
                       FROM Category 
                      WHERE parent_id = parentCategory.id';
end  


    Cat_1
    -child_1
    -child_2
    --grandchild_1  
    Cat_2
    -child_1
    -child_2
    --grandchild_1
Run Code Online (Sandbox Code Playgroud)

Con*_*rix 5

查看递归 ctes假定 sql 2005 或更高版本