大查询表中的嵌套字段,数组和层次结构

时间:2018-12-02 22:46:17

标签: sql google-bigquery

表格预览:所有字段均为可为空的字符串

table schema

结构已经按等级排序:

例如网址1111112和1111113是彼此的“兄弟”,是网址1111116的“孩子”

我想为每个 modemio_url_id 元素提供一个数组,其中包含所有兄弟URL 孩子

为了让所有孩子,我尝试了类似的操作

SELECT
  url5_id as url_id,
  ARRAY_AGG(DISTINCT url6_id IGNORE NULLS) children
FROM  `xxx.modemio_url_schema`
GROUP BY url5_id
UNION ALL
SELECT
  url4_id as url_id,
  ARRAY_AGG(DISTINCT url5_id IGNORE NULLS) children
FROM `xxx.modemio_url_schema`
UNION ALL 
[...]
GROUP BY url4_id 
HAVING url_id is not null

关于如何找到兄弟或找到孩子的更好方法的任何建议?

预期结果

outcome table

0 个答案:

没有答案