如何使用第一个查询的结果进行第二次查询并聚合这些结果?

时间:2016-10-04 18:33:50

标签: postgresql ltree

我使用postgres ltree插件为树数据结构建模了以下数据集:

enter image description here

此查询允许我剪切剪切下面的树返回节点:

with data(path) as (SELECT * FROM test WHERE yaxis >= 2 ORDER BY yaxis) select * from data d1 where not exists (select 1 from data d2 where d1.path <> d2.path and d1.path @> d2.path);

enter image description here

注意,其中一个节点不是叶子,我想从上面得到结果,得到叶子并返回聚合的数据集。这是我想要使用的第二个查询:

SELECT * FROM test WHERE path <@ 'Top.Collections.Pictures.Astronomy' and leaf = true;

注意上面的'Top.Collections.Pictures.Astronomy'是从第一个查询输入的。

第二个查询返回此集:

enter image description here

我希望看到的综合结果是用第二个查询中的子项替换“Top.Collections.Pictures.Astronomy”

0 个答案:

没有答案