Рекурсивный агрегат в BigQuery

У меня есть данные ниже в таблице BigQuery:

subscription_id         subscription_source_id
1                       NULL
2                       NULL
3                       1
4                       3
5                       2
6                       NULL

И мне нужно объединить строки по родительскому элементу, создав массив с дочерними элементами по родительскому элементу, например:

subscription_id         subscription_children
---------------------------------------------
1                       3
                        4
---------------------------------------------                   
2                       5
---------------------------------------------
6                       null

У вас есть какие-нибудь представления о том, как получить такой результат только с помощью функций BigQuery?

Лучший,

Всегда ли глубина структуры данных будет 1, как в вашем примере, или вам нужно поддерживать произвольную глубину, например. 1 -> 3, и 3 -> 7, и 3 -> 9, и 7 ->10? Я спрашиваю, потому что, если это один уровень в глубину, это можно сделать в SQL, но если есть произвольная глубина, это становится более сложным.

Jesse Scherer 27.03.2018 16:24

Вы имеете в виду ARRAY_AGG? cloud.google.com/bigquery/docs/reference/standard-sql/…

Martin Weitzmann 27.03.2018 17:53
0
2
1 048
0

Другие вопросы по теме