在 Bigquery 中,如何将 Struct of Struct of String 转换为 Columns

In Bigquery, How can I convert Struct of Struct of String to Columns

因此,在 table 中,每个 Image 有 3 列,第 3 列是 Record(Struct),包含 2 个新旧结构。在这些结构中有列和值。

我可以通过这个 -change.old.name 访问每个最后一列,但我想将它们转换为普通列并用它创建另一个表 ?

尝试过 unnest 但不起作用,因为它不是数组。

Data structure image

更新:

终于解决了。应该 select 并通过 selecting 所有嵌套数据转换所有列,并将别名设置为我们想要的方式或用下划线替换点。然后用它创建一个 table。

    create table abc 
as 
select 
ID
,Created_on
,Change.old.add as Change_old_add
,Change.old.name as Change_old_name
,Change.old.count_people as Change_old_count_people
,Change.new.add as Change_new_add
,Change.new.name as Change_new_name
,Change.new.count_people as Change_new_count_people
FROM `project.Table`

终于解决了。应该 select 并通过 selecting 所有嵌套数据转换所有列,并将别名设置为我们想要的方式或用下划线替换点。然后用它创建一个 table。

 create table abc 
as 
select 
ID
,Created_on
,Change.old.add as Change_old_add
,Change.old.name as Change_old_name
,Change.old.count_people as Change_old_count_people
,Change.new.add as Change_new_add
,Change.new.name as Change_new_name
,Change.new.count_people as Change_new_count_people
FROM `project.Table`