考虑这张表:
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
我正在考虑递归 CTE,但是在星期五晚些时候我可以在没有什么帮助的情况下做。