【发布时间】:2018-01-24 11:17:37
【问题描述】:
考虑这样的表格:
folders_table
-----------------------
INT id_folder
INT id_folder_parent
VARCHAR folder_name
其中存储了一个简单的目录结构。如何使用单个 SELECT 查询获取目录的所有子目录?
【问题讨论】:
-
很想知道为什么要在数据库级别而不是在应用程序层执行此操作?
-
因为一个查询比在应用程序级别构建树所需的许多查询要快得多。
-
您要从查询中寻找的确切结果是什么?你想要一个给定目录的子目录吗?您想要每个目录及其所有子目录配对的列表吗?你想用查询构造树结构吗?还有什么?
-
@outis 我只想获取单个目录的所有子目录。但是我现在已经用递归在应用程序逻辑中完成了它(我只是在 PHP 的递归函数中查询数据库服务器)。这有点慢,但现在必须工作。
-
我明白了,现在。换句话说,您需要所有后代目录。 “子目录”是模棱两可的,因为它可能意味着所有子目录或所有后代目录。