【问题标题】:bigquery nested & repeated field querybigquery 嵌套和重复字段查询
【发布时间】:2016-11-04 07:26:59
【问题描述】:

我正在使用 bigquery 为 Firebase 分析查询创建一些示例。 我有这样的记录。

event_dim:[

  “name”:”MOVE”,

  “params”:[

     {

         “key”:”npc_id”,

         “value”:{

              "string_value": “11”,

              "int_value": null,

              "float_value": null,

              "double_value": null

            }

     },

     {

         “key”:”posX”,

         “value”:{

              "string_value": null,

              "int_value": null,

              "float_value": null,

              "double_value": “10.0”

            }

     },

     {

         “key”:”posY”,

         “value”:{

              "string_value": null,

              "int_value": null,

              "float_value": null,

              "double_value": “12.0”

            }

     },

]

我如何查询这些数据以获得这样的结果?

名称 | npc_id | posX |位置

移动| 11 | 10.0 | 12.0

【问题讨论】:

标签: google-bigquery


【解决方案1】:

工作查询:

#StandardSQL
SELECT * FROM (
  SELECT 
    e.name, 
    (SELECT value.string_value FROM UNNEST(e.params) WHERE key = "item_name") AS item_name,
    (SELECT value.int_value FROM UNNEST(e.params) WHERE key = "value") AS value
  FROM 
    `firebase-analytics-sample-data.ios_dataset.app_events_20160601`,
    UNNEST(event_dim) as e
)
WHERE item_name IS NOT null

秘密是UNNEST嵌套事件记录,然后UNNEST嵌套参数,寻找具有正确键的那个。

【讨论】:

    猜你喜欢
    • 2016-07-17
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多