I am trying to flatten inside_array or sub array of nested array data into table rows. I am able to flatten array_data which is outside array. Anybody have any suggestion.Thanks in advance
Asked
Active
Viewed 2,525 times
2 Answers
4
#standardSQL
SELECT ...
FROM `project.dataset.table`,
UNNEST(array_data) AS array_data_rec,
UNNEST(array_data_rec.inside_array) AS inside_array_rec
To handle "no data inside the inside_array" - use LEFT JOIN instead as in below example
#standardSQL
SELECT ...
FROM `project.dataset.table`,
UNNEST(array_data) AS array_data_rec
LEFT JOIN UNNEST(array_data_rec.inside_array) AS inside_array_rec

Mikhail Berlyant
- 165,386
- 8
- 154
- 230
-
Thanks this is helpful.Does it return no data if the there is no data in inside_array_rec and I try to fetch all column from table. – user_a27 Jun 28 '20 at 18:46
-
see addition in my answer – Mikhail Berlyant Jun 28 '20 at 18:50
-
Thank you so much. exactly I was looking for. – user_a27 Jun 28 '20 at 19:02
0
You can do following
...
FROM
AA.nested_array,
UNNEST(array_data) as array_data,
UNNEST(array_data.inside_array) as array_data_inside_array

Yun Zhang
- 5,185
- 2
- 10
- 29