sqlite变换树表(分层)变为扁平表

时间:2018-06-18 16:20:26

标签: sqlite hierarchical-data

我在这里遇到了这个问题,非常感谢任何帮助。 我需要像这样转换树表/层次结构:

id    name    parent
 1     aaa          
 2     bbb         1
 3     ccc         1
 4     ddd         2
 5     eee         2
 6     fff         5

其中
id - 是唯一标识符
parent - 是给定记录与之相关的父项的id

上表需要从深层次转换为平面水平表,如下图所示,其中parent列被展平并分布在多个列中,从左到右显示层次结构:

parent  descendent_1  descendent_2   descendent_n+1     id    name   
  null          null          null              ...      1     aaa                 
     1          null          null              ...      2     bbb                
     1          null          null              ...      3     ccc         
     1             2          null              ...      4     ddd         
     1             2          null              ...      5     eee         
     1             2             5              ...      6     fff         

深度可能因记录而异。 以下是数据集的示例:

CREATE TABLE table_1 (id int, name text, parent int);

INSERT INTO table_1 VALUES
(1,'aaa',null),
(2,'bbb',1),
(3,'ccc',1),
(4,'ddd',2),
(5,'eee',2),
(6,'fff',5),
(7,'ggg',6),
(8,'hhh',7),
(9,'iii',3),
(10,'jjj',3),
(11,'kkk',8),
(12,'lll',11);

万分感谢!

0 个答案:

没有答案