Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Data structures 使用递归遍历树结构_Data Structures - Fatal编程技术网

Data structures 使用递归遍历树结构

Data structures 使用递归遍历树结构,data-structures,Data Structures,我正在处理数据库中的一个表。列为:id、name、parent\u id、hasschildren。父id将是表上的一个id。如果parent_id为null,则记录为父记录 循环浏览这些数据的最佳方式是什么,这样我就可以将其添加到如下列表中: -项目1 -项目2 >>项目2.1 >>>>项目2.1.1 >>项目2.2 -项目3 等等 编辑-当我说列表时,我的意思是像一个列表框 edit2-woops,是的,列表需要按父记录的字母顺序排序。我正在使用mssql。SQL Server 2008允许

我正在处理数据库中的一个表。列为:id、name、parent\u id、hasschildren。父id将是表上的一个id。如果parent_id为null,则记录为父记录

循环浏览这些数据的最佳方式是什么,这样我就可以将其添加到如下列表中:

-项目1 -项目2 >>项目2.1 >>>>项目2.1.1 >>项目2.2 -项目3

等等

编辑-当我说列表时,我的意思是像一个列表框


edit2-woops,是的,列表需要按父记录的字母顺序排序。我正在使用mssql。

SQL Server 2008允许您在表中定义层次结构:

您还可以使用递归CTE:


这棵树分类了吗?订单是否需要保留在列表中?您使用的数据库是什么?例如,Oracle直接支持树依赖项查询。。。