使用 Bigquery 我試圖洗掉如下嵌套的模式,但無法這樣做。任何人都可以請讓我知道。如何做到這一點?
桌子:
FiledName Type Mode
Person RECORD REPEATED
Person.Name STRING NULLABLE
Person.Add RECORD NULLABLE
Person.Add.line STRING NULLABLE
代碼:
create table `project_id.dataset.new_table_name` as
select * replace(
(select as ARRAY(struct person.* except(add))) as person
)
from `project_id.dataset.table_name`;
預期輸出:
FiledName Type Mode
Person RECORD REPEATED
Person.Name STRING NULLABLE
uj5u.com熱心網友回復:
考慮以下方法
create table `project_id.dataset.new_table_name` as
select * replace(
array(select as struct person.* except(add) from t.person) as person
)
from `project_id.dataset.table_name` t;
uj5u.com熱心網友回復:
試試這個
create table `project_id.dataset.new_table_name` as
SELECT
[STRUCT (P.NAME AS NAME)] AS PERSON
from `project_id.dataset.table_name`,UNNEST(PERSON) AS P;
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/397696.html
