google-bigquery - 将表中的数组单元格转换为另一个表中的行
问题描述
我有一个只有一个单元格的表(table1)。此单元格的内容采用数组格式。我需要将此单元格的内容转换为新表(table2)中的单独行
示例表 1 如下所示:-
![元素 ['foo', 'bar', 'baz', 'qux', 'corge', 'garply', 'waldo', 'fred']] 1
我已经阅读了有关数组和使用 UNNEST 运算符的大型查询文档。
以下逻辑将起作用:- '''SELECT * FROM UNNEST(['foo', 'bar', 'baz', 'qux', 'corge', 'garply', 'waldo', 'fred']) AS元素'''
但是,我需要从表 1 中的单元格中读取数组并创建表 2。
对此的任何帮助都将非常有用。
解决方案
以下是 BigQuery 标准 SQL
#standardSQL
SELECT element
FROM `project.dataset.table`,
UNNEST(element) element
您可以使用您问题中的示例数据进行测试,使用上面的示例数据,如下例所示
#standardSQL
WITH `project.dataset.table` AS (
SELECT ['foo', 'bar', 'baz', 'qux', 'corge', 'garply', 'waldo', 'fred'] element
)
SELECT element
FROM `project.dataset.table`,
UNNEST(element) element
带输出
Row element
1 foo
2 bar
3 baz
4 qux
5 corge
6 garply
7 waldo
8 fred
现在,您可以使用上面来创建新表,如下例所示
CREATE TABLE `project.dataset.table2` AS
SELECT element
FROM `project.dataset.table1`,
UNNEST(element) element
推荐阅读
- java - 在 rest API 的查询参数中发送 pct (%)
- python - 重构功能以获得稳健的设计
- tensorflow - Tensorflow:张量的行数和列数
- java - 在 Spring Boot 应用程序中创建自定义连接池
- python - Tensorflow 深度神经网络代码实现
- android - 使用 Picasso 将图像加载到 Recycler View 中。回收站视图不显示
- unit-testing - 在 Unity3d 测试脚本中,如何从另一个类调用静态函数?
- python - 保存每次迭代的结果
- sql - 我如何像 TFS 一样进行 MS SQL 脚本版本控制?
- windows - 如何解决控制台窗口阻塞?