如何在大查询中显示父子关系的完整层次结构

问题描述 投票:0回答:1

某些背景---我有两张桌子一表式列出了系统中的所有实体,另一个指定实体之间的关系

问-问题是查看表格,我们可以绘制出每个子实体与父实体之间的关系。

-我所做的事

CREATE TEMP TABLE rell AS 
  SELECT 3 child_id, 2 parent_id UNION ALL
  SELECT 2, 1 UNION ALL
  SELECT 4, 1 UNION ALL
  SELECT 6, 2 UNION ALL
  SELECT 14, 6 UNION ALL
    SELECT 15, 14 UNION ALL
  SELECT 7, 8 UNION ALL
  SELECT 8, 5 UNION ALL
  SELECT 9, 10 UNION ALL
  SELECT 11, 12 ;

CREATE TEMP TABLE mapp AS 
  SELECT 1 item_id, 'app' type UNION ALL
  SELECT 2 , 'ci'  UNION ALL
  SELECT 3 , 'ci'  UNION ALL
  SELECT 4 , 'ci'  UNION ALL
  SELECT 5 , 'app'  UNION ALL
  SELECT 6 , 'ci'  UNION ALL
  SELECT 7 , 'ci'  UNION ALL
  SELECT 8 , 'ci'  UNION ALL
  SELECT 9 , 'app'  UNION ALL
  SELECT 10 , 'ci'  UNION ALL
  SELECT 11 , 'ci'  UNION ALL
  SELECT 14 , 'ci'  UNION ALL
  SELECT 15 , 'ci'  UNION ALL
  SELECT 12 , 'ci' ;

上面列出的'mapp'具有所有实体(类型-app是最终的父级),而rel表具有关系。

我可以输出类似下面的内容吗?>

original_child  final_parent    path
4   1   4>1
3   1   3>2>1
7   5   7>8>5
14  1   14>6>2>1
15  1   15>14>6>2>1
11  12  11>12
2   1   2>1
8   5   8>5
6   1   6>2>1
    

某些背景---我有两个表,一个-表列出了系统中的所有实体,另一个表指定了实体之间的关系Ask-Ask正在查看表,我们可以...

sql google-bigquery parent-child parent relation
1个回答
0
投票
好吧,在经过艰苦的搜索互联网并尝试多种选择之后,这是我想出的,花了很多时间来了解细节,但是我想我已经找到了解决方案。也许这可以使人们免于遇到我的麻烦。我会尝试解释一下
© www.soinside.com 2019 - 2024. All rights reserved.