【问题标题】:postgresql adjacency list querypostgresql邻接表查询
【发布时间】:2017-12-14 12:39:47
【问题描述】:

在postgresql中,我有下表

c_relation_investor_main_pfk; c_relation_investor_sub_pfk
"inv_ho";"inv_ho_r"
"inv_ho";"inv_ho_sf"
"inv_priv";"inv_com"
"inv_priv";"inv_encor"
"inv_priv";"inv_ho"
"inv_prof";"inv_b4"
"inv_prof";"inv_com"
"inv_prof";"inv_encor"
"inv_prof";"inv_ho"
"inv_prof";"inv_pd"
"inv_prof";"inv_ut"

给定一个孩子的名字,我如何列出所有的祖先?给定一个父名称,我如何列出它的所有后代?

【问题讨论】:

标签: sql postgresql hierarchical-data recursive-query adjacency-list


【解决方案1】:

我正在发布解决方案,以便它可以帮助面临类似问题的人。

WITH RECURSIVE source(main ,sub ) AS (
SELECT character varying 'inv_ho', character varying 'inv_ho_r'
UNION ALL
SELECT tb_relation_investor.c_relation_investor_main_pfk, tb_relation_investor.c_relation_investor_sub_pfk
FROM source JOIN tb_relation_investor ON (source.main=tb_relation_investor.c_relation_investor_sub_pfk)
 )
 SELECT * from source

【讨论】:

    猜你喜欢
    • 2013-01-19
    • 2016-03-28
    • 2011-03-01
    • 2018-02-09
    • 1970-01-01
    相关资源
    最近更新 更多