要将BigQuery的行扁平化,可以使用SQL中的UNNEST函数和JOIN操作。以下是一个示例解决方案:
假设我们有一个包含以下结构的表:
id | name | addresses |
---|---|---|
1 | John | [{"city": "New York", "state": "NY"}] |
2 | Alice | [{"city": "San Francisco", "state": "CA"}, {"city": "Los Angeles", "state": "CA"}] |
我们想要将每个地址拆分为一个独立的行,可以使用UNNEST函数和JOIN操作来实现。以下是一个示例查询:
SELECT id, name, address.city, address.state
FROM your_table,
UNNEST(addresses) AS address
这将返回以下结果:
id | name | city | state |
---|---|---|---|
1 | John | New York | NY |
2 | Alice | San Francisco | CA |
2 | Alice | Los Angeles | CA |
在这个查询中,我们使用UNNEST函数将addresses数组拆分为单独的行。然后,我们使用JOIN操作将原始表与拆分后的行进行连接,以获取每个地址的信息。
请注意,你需要将"your_table"替换为你实际的表名,并根据你的实际列名进行调整。