Google bigquery 如何使用另一个bigquery表中的数据更新嵌套的bigquery列

Google bigquery 如何使用另一个bigquery表中的数据更新嵌套的bigquery列,google-bigquery,Google Bigquery,我有两个嵌套列的bigquery表,每当table1.value1=table2.value时,我需要更新table1中的所有列,这些表也有大量数据 我可以用静态列更新单个嵌套列,如下所示 标准SQL 更新`ck.table1` 设置升级\u id=ARRAY 从UNNESTpromotion\u id中选择AS STRUCT*REPLACE 100作为PromotionId 但是,当我尝试重用相同的表以基于表2数据更新多个列时,我得到了异常 每当table1.value1=table2.val

我有两个嵌套列的bigquery表,每当table1.value1=table2.value时,我需要更新table1中的所有列,这些表也有大量数据

我可以用静态列更新单个嵌套列,如下所示

标准SQL 更新`ck.table1` 设置升级\u id=ARRAY 从UNNESTpromotion\u id中选择AS STRUCT*REPLACE 100作为PromotionId 但是,当我尝试重用相同的表以基于表2数据更新多个列时,我得到了异常

每当table1.value1=table2.value包含所有嵌套列时,我都试图用table2数据更新table1

到目前为止,这两个表都具有相似的模式

每当table1.value1=table2.value时,我需要更新table1中的所有列 ... 这两个表具有相似的模式

我想你所说的相似是指相同的

下面是BigQuery标准SQL 您可以使用下面的查询获得合并结果,并使用目标表或创建或替换表语法将其保存回表1

#standardSQL
SELECT AS VALUE IF(value IS NULL, t1, t2)
FROM `project.dataset.table1` t1
LEFT JOIN `project.dataset.table2` t2
ON value1 = value

我没有用更新语法尝试过这种方法,但您可以尝试让我们知道:o

请向我们提供您收到的异常情况