Выбор данных из одной таблицы с иерархиями (с использованием двух столбцов) - PullRequest
0 голосов
/ 18 апреля 2019

Я создаю веб-обозреватель файлов на основе разрешений.Файлы и папки, доступные пользователю, хранятся в таблице #temp.Файлы и папки должны отображаться, например, если родительская папка открыта для общего доступа, файлы и папки в ней не должны отображаться.И если мой путь меняется, то я должен получить эти файлы / папки.

Моя таблица выглядит так: Sample data with path and parent folder

Как видите, я храню Путь и Родителя.Итак, изначально я хочу выбрать те файлы / папки, чей родитель не в пути.И позже, когда я перехожу в каталог Group Share, т.е. Path like '/home/usr1/Group Share%', я должен иметь возможность видеть файлы в этой папке.

Как я могу выбрать такие данные?
Мой текущий запрос выбирает файлыи игнорирует папки

SELECT m1.Path, m1.Name, m1.Parent
FROM
    #temp m1
WHERE
    NOT EXISTS (SELECT 1 FROM #temp m2 WHERE m2.Parent = m1.Path)
    AND m1.Path LIKE '%'

Но я не могу использовать это, так как я хочу папки, и при нажатии на папки мой путь изменится на AND m1.Path LIKE '/home/usr1/Group Share%', который дает файлы в этой папке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...