Я создал запрос SQL Server, который расчленяет мои папки и трансформирует в строках (разграничены «\»)Transform строк в столбцах SQL
Например: Моя папка "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