在BigQuery中,关联子查询无法对数组进行展开。不过,你可以使用UNNEST
函数将数组展开为多行,然后再进行关联查询。
下面是一个示例代码,展示了如何使用UNNEST
函数在BigQuery中对数组进行展开:
WITH data AS (
SELECT 1 AS id, ['apple', 'banana', 'orange'] AS fruits UNION ALL
SELECT 2 AS id, ['grape', 'kiwi'] AS fruits
)
SELECT
data.id,
fruit
FROM
data
JOIN
UNNEST(data.fruits) AS fruit
此代码中,我们首先创建了一个名为data
的临时表,包含了'id'和'fruits'两列。然后,我们使用UNNEST
函数将'fruits'列展开为多行,并将展开后的结果与原始表进行关联查询。
运行上述示例代码后,你将获得以下结果:
id | fruit
----|------
1 | apple
1 | banana
1 | orange
2 | grape
2 | kiwi
这样,我们就成功地将数组展开为多行,并进行了关联查询。