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