首页 > 解决方案 > SQL查询只获取父目录

问题描述

SELECT *
FROM directory
WHERE status_id = 10 AND workspace_id = 1

在此处输入图像描述

以上是我的查询和数据库表。

dir_name = 目录名

dir_path = 目录路径

例如,BbB是AaA下的嵌套目录。

当我调用上述数据时,如何为此编写查询,而不是显示所有 5 行,只显示 1 行,即父目录。在这种情况下,只会显示id = 13的数据,因为它是所有数据的父目录。

标签: sqlsql-serverdatabase

解决方案


我假设条件,目录结构将是父级和相应的子级。在这种情况下,您可以进行简单查询。

SELECT TOP 1 *
FROM directory
WHERE status_id = 10 AND workspace_id = 1
ORDER BY LEN(dir_path) ASC -- shortest directory path

推荐阅读