首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只保留第一列的第一个值,并根据层次结构对另外两个列进行排序。

只保留第一列的第一个值,并根据层次结构对另外两个列进行排序。
EN

Stack Overflow用户
提问于 2019-11-12 08:55:51
回答 1查看 33关注 0票数 0

所以有五个人在笑工厂工作。马克先起来,然后是朱迪,然后是洛丽,然后是艾格尼丝,最后是以赛亚。

我想从这一点出发:

代码语言:javascript
复制
+------------------------------+
| Laugh Factory |Marc | Judy   |
| Laugh Factory |Judy | Lorie  |
| Laugh Factory |Lorie| Agnes  |
| Laugh Factory |Agnes| Isaiah |
+------------------------------+

对此:

代码语言:javascript
复制
 Laugh Factory | Marc | Judy | Lorie | Agnes | Isaiah

我怎样才能做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-12 09:13:43

为此您需要一个递归查询

类似的东西(未经测试的):

代码语言:javascript
复制
with recursive tree as (
  select company, comedian, preceding_comedian, 1 as level
  from the_table
  where company = 'Laugh Factory'
    and preceding_comedian is null
  union all
  select ch.company, ch.comedian, ch.preceding_comedian, p.level + 1
  from the_table ch
    join tree p on ch.preceding_comedian = p.comedian
)
select company, string_agg(comedian, ' > ' order by level) as comedians
from tree 
group by company;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58815109

复制
相关文章

相似问题

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