要将数组/JSON对象转置为列,可以使用BigQuery的UNNEST函数和STRUCT构造函数来实现。下面是一个示例代码:
WITH data AS (
SELECT [
STRUCT('a', 1),
STRUCT('b', 2),
STRUCT('c', 3)
] AS array_data
)
SELECT
array_item.key AS key,
array_item.value AS value
FROM
data,
UNNEST(array_data) AS array_item
在这个示例中,我们使用WITH子句创建了一个名为"data"的临时表,其中包含一个名为"array_data"的数组字段。然后,我们使用UNNEST函数将数组展开为多行,并使用STRUCT构造函数将每个数组项转换为一个带有"key"和"value"字段的结构体。最后,我们选择了"key"和"value"字段作为结果列。
这将产生以下结果:
key | value
----+------
a | 1
b | 2
c | 3
请注意,如果你的数组/JSON对象具有多个字段,你可能需要根据实际情况进行适当的调整和修改。