2016-09-29 1 views
0

PATH라는 필드가있는 테이블이 있습니다.T-SQL 2008- 가장 높은 경로 얻기

PartitionA \ PathA 
PartitionA \ PathA \ Location 
PartitionA \ PathA \ Location \ Share 
PartitionA \ PathA \ Location \ Share \ FolderUserA 
PartitionA \ PathA \ Location \ Share \ FolderUserA \ fileA.txt 
PartitionA \ PathB 
PartitionA \ PathB \ Location 
PartitionA \ PathB \ Location \ Share 
PartitionA \ PathB \ Location \ Share \ FolderUserB 
PartitionA \ PathB \ Location \ Share \ FolderUserB \ fileB.txt 

...

내가 각 사용자에 대한 가장 높은 폴더를 얻으려면이 필드의 형식은 다음 (각 레코드는 새 행이다)이있다. 중 정상화 또는 계층 구조를 사용하여 - 당신이 나 데이터를 재구성하지 말아야 할 말을 아니지만, 데이터 계층 인 경우이 해결하기 쉬울 것

PartitionA \ PathB \ Location \ Share \ FolderUserA 
PartitionA \ PathB \ Location \ Share \ FolderUserB 

답변

2

을이 예를 들어, 내가 싶어 데이터 형식. 그러나 ... 그것은 단지에 몰래하는 것 :

order by len(path) - len(replace(path,' \ ','') desc 

(당신이 필요로하는 등 어떤 그룹과 함께)