首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Postgres ltree收集所有叶节点

用Postgres ltree收集所有叶节点
EN

Stack Overflow用户
提问于 2017-04-20 05:02:18
回答 1查看 2.4K关注 0票数 3

我一直在使用Postgres ltree构造来存储层次结构。现在,我想收集树中所有的叶节点。是否有一个直接的机制来做到这一点?

代码语言:javascript
运行
复制
CREATE TABLE foo
AS
  SELECT node::ltree
  FROM ( VALUES
    ('Top.Astronomy'),
    ('Top.Astronomy.Astrophysics'),
    ('Top.Pictures'),
    ('Top.Pictures.Stars')
  ) AS t(node);

我怎么回去?

代码语言:javascript
运行
复制
Top.Astronomy.Astrophysics
Top.Pictures.Stars
EN

Stack Overflow用户

回答已采纳

发布于 2017-04-20 06:58:13

使用@>

一种方法是使用@>

代码语言:javascript
运行
复制
SELECT *
FROM foo AS f1
WHERE NOT EXISTS (
  SELECT *
  FROM foo AS f2
  WHERE f1.node @> f2.node
    AND f1.node <> f2.node
);
            node            
----------------------------
 Top.Astronomy.Astrophysics
 Top.Pictures.Stars
(2 rows)
票数 5
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43510596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档