BigQuery-动态提取数组中的所有数组元素

时间:2019-01-29 18:13:14

标签: sql arrays json google-bigquery extract

我已经发布了这个问题,但是现在我正在尝试使用BigQuery来实现。

我有如下的JSON数据。

{
  "userid": null,
  "appnumber": "9",
  "trailid": "1547383536",
  "visit": [{
      "visitNumber": "1",
      "time": "0",
      "hour": "18",
      "minute": "15"
    },
    {
      "visitNumber": "2",
      "time": "2942",
      "hour": "18",
      "minute": "15"
    }
  ]
}

我想动态提取访问数组值。

就像下面这样:(管道消亡的柱子)

userid,appnumber| trailid | 
visit.visitnumber | visit.time | visit.hour | visit.minute | 
visit.visitnumber | visit.time | visit.hour | visit.minute

如果您看到我在visit数组中有2个json元素。所以我想动态提取visitNumber,时间,小时,分钟。有时我在数组中可能有3或5个值,因此它应该自动提取所有3或5个json(我是动态地表示)。

有一种常见的提取方式,例如JsonExtractScalar(JsonExtract(visit,'$.[0].visitnumber')(此语法可能是错误的,但是我们将使用类似的语法。因此,此处Im手动使用[0]来提取数组中的第一个元素。

如果它有10多个元素,那么我应该使用[0]...[1]...[2]....[10]。我想解决的问题,不知何故不提及所有元素,它应该动态选择所有10个元素并将其提取。

有人可以帮助我进行提取查询吗?

0 个答案:

没有答案