【发布时间】:2023-09-05 19:53:01
【问题描述】:
在 BigQuery 中展平包含两个数组的结构的正确方法是什么?我有一个如图所示的数据集(struct.destination 和 struct.visitors 数组是有序的 - 即访问者计数专门对应于同一行中的目的地):
我想重新组织数据,以便获得每个独特的出发地和目的地组合的总访客数。理想情况下,最终结果将如下所示:
我尝试连续两次使用 UNNEST - 一次在 struct.destination 上,然后在 struct.visitors 上,但这会产生错误的结果(每个目的地被映射到访问者计数数组中的每个值,而它应该只被映射到同一行中的值):
SELECT
origin,
unnested_destination,
unnested_visitors
FROM
dataset.table,
UNNEST(struct.destination) AS unnested_destination,
UNNEST(struct.visitors) AS unnested_visitors
【问题讨论】:
标签: sql struct google-cloud-platform flatten google-bigquery