使用python遍历sqlite中两个不同列中的树

时间:2015-07-14 19:43:47

标签: python sqlite

我的sqlite数据库有两列名为child和parent,任何值为0的元素都是树的根, 样本数据:

child  parent
33     16
16     0
45     39
30     0

我正在尝试编写一个sqlite查询来确定树的数量&它的路径如下所示 树木数量:2

0 16 33
0 30 49

我能够找到0s的行...但是无法想出生成路径的逻辑..

请提出任何建议

1 个答案:

答案 0 :(得分:0)

有多少孩子可以有父母?在您的示例中,您似乎假设每个“root”父级只有一个子级。也许你可以从以下内容开始:

SELECT A.parent, A.child, B.child FROM mytable AS A JOIN mytable AS B
  ON A.child = B.parent WHERE A.parent = 0;

(未尝试过)。但你的问题确实应该更精确。

如果您对树木的数量感兴趣,可能会像:

SELECT COUNT(*) from mytable WHERE parent = 0;

最好的问候。