フォルダを分割して行に変換するクエリ SQL Server を作成しました (「\」で区切られています)
例: 私のフォルダは"N:\TESTEA\subTESTEB"
もともと. 私の新しいテーブルでは、この値は次のとおりです。行ごとのフォルダー名。
N:
TESTEA
subTESTEB
しかし、行を列に変換する必要があります。列 1 の行 1。列 2 の行 2。等々。
誰がこれに対する解決策を知っていますか? 1 つの問題: このフォルダには複数のレベルがあり、標準のレベルではありません!
私は明確ですか?
以下は私の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