我有一个现有的表有两个子元素包含相同的数据,但元素中的字段以不同的顺序定义 .

下面是模式的一个示例(真正的模式要复杂得多,并且包含多个级别的嵌套和重复字段)

+- record2: record             
|  +- list: record (repeated)    
|  |  |- field1: integer         
|  |  |- field2: integer         
+- record: record                
|  +- list: record (repeated)    
|  |  |- field2: integer         
|  |  |- field1: integer

我正在尝试运行以下查询并失败(“函数COALESCE没有匹配的签名...”):

select
  field1,
  field2
  from `dataset.table` 
  left join unnest([coalesce(record2,record)]) as elem

有没有办法改变现有模式中的字段顺序?

有没有办法将新字段添加到RECORD元素并设置元素不要追加到最后?我尝试使用UPDATE表,但似乎API强制将字段添加为RECORD中的最后一个元素 .