我正在基于权限创建基于Web的文件资源管理器。用户可访问的文件和文件夹存储在#temp
表中。将显示文件和文件夹,例如,如果父文件夹与我共享,则不应显示其中的文件/文件夹。如果我的路径改变了,那我应该得到那些文件/文件夹。
如您所见,我正在存储路径和父项。因此,一开始我想选择其父目录不在路径中的那些文件/文件夹。后来,当我转到“组共享”目录时,即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%'
,从而在该文件夹中提供文件。