抱歉,如果这个问题非常基本,但我无法弄清楚,也找不到任何好的答案。
我有一个很长的文件、文件夹和大小列表。我需要将文件夹分成列,每个文件夹都有一个列。
我有一个 FilePath 作为字符串(例如 folder1\folder2\folder3)。我想把它分成多个列:
First | Second | Third | Fourth | ...
folder1 | folder2 | folder3 | NULL | ...
Foldera | folde rb | folderc | folderd |
使用 cross apply string_split(PATH,'\') as 文件夹我得到 Folder1。使用 row_Number() 我可以定义列中的文件夹,但它始终只有 1 列。
实际示例:
select [Parentpath], [Size], [spl].[value] from Files
cross apply string_split([ParentPath], '\') as [spl]
Parentpath || Size || Value
Business\Packets\Data\Archive || 29334 || Business
这也不漂亮,但它允许 as\many\sub\folders\as\you\may\have。
使用此示例数据,我得到以下结果:
找到了一个解决方案,虽然我不确定,这是最好的方法,但可以肯定的是,这不是最漂亮的方法。
给我:
我省略了大小,因为我有兴趣先将路径分成单独的文件夹。
编辑:对不起,由于对结果进行排序,此屏幕截图与问题不同。澄清一下:显示结果的 ParentPath 将是:“Business Intelligence\GLS Paketdaten \ GLS Daten Archiv”
或作为带有已发布内容的表格:
PS对不起,英语不是我的第一语言。我希望我写的可以理解。