BigQuery - извлекает все элементы массива из массива динамически - PullRequest
0 голосов
/ 29 января 2019

Я уже опубликовал этот вопрос, но сейчас я пытаюсь добиться этого с помощью 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

Если вы видите, у меня есть 2 элемента jsonвнутри массива посещений.Поэтому я хочу динамически извлекать количество посещений, время, часы, минуты.Иногда у меня может быть 3 или 5 значений внутри массива, поэтому он должен извлекать все 3 или 5 json автоматически (я имею в виду динамически).

Существует общий способ извлечь это как JsonExtractScalar(JsonExtract(visit,'$.[0].visitnumber') (этот синтаксис можетошибаюсь, но подобный синтаксис мы будем использовать. Так что здесь я вручную использую [0] для извлечения первого элемента в массиве.

Если у него более 10 элементов, тогда я должен использовать [0]...[1]...[2]....[10].хочу решить, как-то не упоминая все элементы, он должен динамически выбрать все 10 элементов и извлечь его.

Может ли кто-нибудь помочь мне с запросами извлечения?

...