多分私には明らかになっていないかもしれませんが、これについて正しい質問を得られません。BigQueryのキー値フィールドを繰り返し照会する
データ行ごとに複数のキー値のペア(繰り返しデータ)があります(例: {"row1": "data1"、 "row2": "data2"、 "row3":{"key1": "value1 "key2": "value2"}、 "row4":{"key1A": "value1A"、 "key2A": "value2A"}
すべてのレコードに対して「value1」を取得しようとしていますrow3 "key1"が設定されています。これはrow4と同じです。したがって、key2Aが設定されている場合は、対応する値を取得してください。
私は自分の問題を適切に記述してください。
EDIT:より良く理解するため 、これは、1つのデータ列の例スキーマである:
{ "exrow":"Example Data", "date":"2017-08-07", "hi": [ "cd":[ {"index":1,"value":"car"}, {"index":2,"value":"boat"}, {"index":3,"value":"green"}, {"index":4,"value":"blue"} ], [...] ], [...] }
それによって'hi'
と'cd'
はRECORD, REPEATED
あります。
だから、私は何を取得しようとすると、以下の結果の行です: Example Data | 2017-08-07 | boat | blue
クエリ - ちょうど理解するために - 次のようになります。
SELECT exrow, date, (SELECT hi.cd.value WHERE hi.cd.index=2), (SELECT hi.cd.value WHERE hi.cd.index=4) FROM table
だから私は、2つの繰り返し照会しようとしています(ネストされた?)データ行に対応する条件を設定します。
私はそれを今より良く説明したいと思う。提供されたデータと
ない明らかに非常に便利です - あなたのテーブルのスキーマは何ですか? –
私の投稿を編集してよりよく説明しようとしました – kRuzeFiX
あなたが提供したスキーマは、BigQueryのARRAYタイプでは 'Nested Arrays'がサポートされていない可能性が高いです - https://cloud.google.com/bigquery/docs/reference/standard -sql/data-types#宣言型 - 配列型 –