从sql BigQuery中的数组对象中获取键值对

Chique_Code

我需要解析列mapping并从数组中的第二个对象中获取键值对。我想用获取的数据创建新列。数据如下所示:

row                 mapping 
1       [{'adUnitCode': ca, 'id': 35, 'name': ca}, {'adUnitCode': hd, 'id': 11, 'name': HD}]
2       [{'adUnitCode': bb, 'id': 56, 'name': jk}, {'adUnitCode': hm, 'id': 12, 'name': HM}]
3       [{'adUnitCode': gh, 'id': 78, 'name': ff}, {'adUnitCode': hk, 'id': 13, 'name': HK}]

所需的输出:

row                 adUnitCode                  id                  name
1                     hd                       11                     HD
2                     hm                       12                     HM
3                     hk                       13                     HK
米哈伊尔·伯利安(Mikhail Berlyant)

以下是方法之一(BigQuery标准SQL)

#standardSQL
select 
  json_extract_scalar(second_object, "$.adUnitCode") as adUnitCode,
  json_extract_scalar(second_object, "$.id") as id,
  json_extract_scalar(second_object, "$.name") as name
from `project.dataset.table`, unnest(
  [json_extract_array(regexp_replace(mapping, r"(: )(\w+)(,|})", "\\1'\\2'\\3"))[safe_offset(1)]]
) as second_object

如果将以上内容应用于您问题的样本数据,则结果为

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL表中的键值对

来自分类Dev

从对象的JSON数组中获取键值对

来自分类Dev

在对象数组中获取键值的值

来自分类Dev

从SQL中的对象获取数据

来自分类Dev

标准SQL中的BigQuery Join数组

来自分类Dev

尝试获取对象数组中对象内对象的键值的长度

来自分类Dev

在javascript中的json对象数组中获取JSON键值对

来自分类Dev

从PHP中的SQL获取结果数组

来自分类Dev

SQL查询–如何从数组中获取价值?

来自分类Dev

从具有键值的字典数组中获取对象的索引

来自分类Dev

如何获取键值数组中的键值

来自分类Dev

为新的BigQuery标准SQL使用数组中的结构

来自分类Dev

BigQuery 中的标准 SQL - 从多行获取连接文本

来自分类Dev

如何从数组中获取键值?

来自分类Dev

从键值数组中获取值

来自分类Dev

从字典数组中获取键值

来自分类Dev

SQL将JSON对象转换为Posgres中的对象数组

来自分类Dev

在SQL BigQuery中寻找X

来自分类Dev

bigquery sql中超出的资源

来自分类Dev

从哈希数组中获取键值的数组?

来自分类Dev

什么是使用查找索引从数组中获取对象或在JavaScript中获取映射键值的更快方法?

来自分类Dev

从php中的多值数组中获取键值

来自分类Dev

作为SQL中的JSON对象数组返回(Postgres)

来自分类Dev

作为SQL中的JSON对象数组返回(Postgres)

来自分类Dev

Laravel:在单个SQL列中插入数组对象

来自分类Dev

在SQL中获取记录

来自分类Dev

如何在PeopleCode中获取SQL对象的列名?

来自分类Dev

试图在 sql 查询中获取非对象的属性

来自分类Dev

如何获取数组键值并计算一个数组对象中的值