我創建了一個肢解我的文件夾和行變換列變換行SQL
例如(由「\」分隔)查詢的SQL Server: 我的文件夾是"N:\TESTEA\subTESTEB"
原本。在我的新表中,此值爲:每行 文件夾名稱。
N:
TESTEA
subTESTEB
但是,我需要轉換它的列中的行。第1列第1行;第2列中的第2行;等等。
誰知道這方面的解決方案? 一個問題:這個文件夾有多層次,而不是一個標準的水平!
我很清楚嗎?
下面是我的SQL查詢(我不知道這裏格式化這個SQL代碼!):
DECLARE @ARRAY VARCHAR(8000), @DELIMITADOR VARCHAR(100), @S VARCHAR(8000),@ARRAYFinal VARCHAR(8000)
select sub_folder_path into #sub_folder_path from GROUP_FOLDER_ACCESS
SELECT @DELIMITADOR = '\'
CREATE TABLE ARRAY(ITEM_ARRAY VARCHAR(8000))
WHILE (select COUNT(*) from #sub_folder_path) > 0
BEGIN
SELECT @ARRAY = sub_folder_path from #sub_folder_path ORDER BY sub_folder_path
SET @ARRAYFinal = @ARRAY
SET @ARRAY = @ARRAY + @DELIMITADOR
WHILE LEN(@ARRAY) > 0
BEGIN
SELECT @S = LTRIM(SUBSTRING(@ARRAY, 1, CHARINDEX(@DELIMITADOR, @ARRAY) - 1))
INSERT INTO ARRAY (ITEM_ARRAY) VALUES (@S)
SELECT @ARRAY = SUBSTRING(@ARRAY, CHARINDEX(@DELIMITADOR, @ARRAY) + 1, LEN(@ARRAY))
END
DELETE #sub_folder_path WHERE sub_folder_path = @ARRAYFinal
END