gpt4 book ai didi

sql - 展平 BigQuery 表中多个相同大小的数组列

转载 作者:行者123 更新时间:2023-12-04 12:41:26 31 4
gpt4 key购买 nike

我有一个包含多个列的表,其中一些列是相同长度的数组。我想解除它们的嵌套,以获得包含来自不同行中的数组的值的结果。

所以有这样一张 table :

input table

我想去:

output table

这是其中一个数组列的工作方式:

WITH data AS
(
SELECT 1001 as id, ['a', 'b', 'c'] as array_1, [1, 2, 3] as array_2
UNION ALL
SELECT 1002 as id, ['d', 'e', 'f', 'g'] as array_1, [4, 5, 6, 7] as array_2
UNION ALL
SELECT 1003 as id, ['h', 'i'] as array_1, [8, 9] as array_2
)
SELECT id, a1
FROM data,
UNNEST(array_1) as a1

是否有一些优雅的方法可以同时解除两个数组的嵌套?我想避免分别取消嵌套每一列,然后将所有内容连接在一起。

最佳答案

以下是 BigQuery 标准 SQL

#standardSQL
SELECT id, a1, a2
FROM data, UNNEST(array_1) AS a1 WITH OFFSET
JOIN UNNEST(array_2) AS a2 WITH OFFSET
USING(OFFSET)

关于sql - 展平 BigQuery 表中多个相同大小的数组列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58709724/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com