sqlite将树表(分层)转换为平面表
我在这里遇到了这个问题,非常感谢您的帮助。 我需要像这样转换树表/层次结构:sqlite将树表(分层)转换为平面表,sqlite,hierarchical-data,Sqlite,Hierarchical Data,我在这里遇到了这个问题,非常感谢您的帮助。 我需要像这样转换树表/层次结构: id name parent 1 aaa 2 bbb 1 3 ccc 1 4 ddd 2 5 eee 2 6 fff 5 其中 id-是唯一标识符 父项-与给定记录相关的父项的id 上面的表格需要从一个深层层次结构转换为一个平面水平表格,如下面的表
id name parent
1 aaa
2 bbb 1
3 ccc 1
4 ddd 2
5 eee 2
6 fff 5
其中id-是唯一标识符
父项-与给定记录相关的父项的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);
万分感谢 使用递归-cte@KamilG. 我有点明白你的意思,但我不知道如何使用递归cte添加未知数量的列?这需要一个在字符串中构建动态SQL语句的过程来添加列。更复杂的事情。请提供一个,即一个定制的玩具数据库的样本数据。为此,请使用
.dump
功能或列出几行create代码>和插入…
。另外,请解释你想要的输出。我看到三个标题相同的列“id”。哪个是哪个?@Yunnosch我编辑了列名。我需要的是从深到平的水平结构,而不知道深度。作为卡米尔格。注意到我需要递归,但这就是我被卡住的地方。