Рассмотрим эту таблицу:TSQL создать оборванный иерархию из плоской структуры
declare @table as table (
GL_Group_Code varchar(8),
GL_Branch_Code varchar(8),
Account_Number varchar(4),
GL_Centre_Number varchar(6)
)
insert into @table
select '0100', '0110', '1200', 'S10118' union
select '0100', '0110', '1580', 'S16053' union
select '0200', '0210', '2050', '200049' union
select '0200', '0210', '2050', '782844'
Желаемый результат является родителем ребенка отношения через четыре исходных столбцов в:
declare @table_hier as table (
Parent_ID varchar(8),
Item_ID varchar(8)
)
С того отношения колонны 1 , 2,3,4 результат для первой строки из исходной таблицы будет выглядеть так:
null 0100
0100 0110
0110 1200
1200 S10118
Вторая строка будет выглядеть так:
null 0100
0100 0110
0110 1580
1580 S16053
порядок отношения могут варьироваться в зависимости: 1,2,4,3 или 3,4 или 1,3,4
Я думаю рекурсивный КТР однако поздно на Пятницу я мог сделать с небольшой помощью.
вам нужно создать фиксированный или иметь структуру по требованию делать? –
По требованию действительно может пойти с фиксированным однако, что требует обслуживания –