我在 BigQuery 中有两个要合并的表。出于解释的目的,让我们将这两个表命名为 A 和 B。因此,我们将 B 合并到 A 中。此外,我有一个名为 id 的主键,基于它我正在执行合并。现在,它们都有一个类型为 ARRAY 的列(让我们将其命名为 X 以进行解释)。如果两个表中的数组不相等,我的主要目的是用 B 中的数组数据替换 A 中的数组数据。我怎样才能做到这一点。我确实在 SO 和其他网站上找到了帖子,但没有一个在我的用例中工作。
A B
---------- ----------
id | x id | x
---------- ----------
1 | [1,2] 1 | [1,2]
---------- ----------
2 | [3] 2 | [4, 5]
合并的结果应该是
A
----------
id | x
----------
1 | [1,2]
----------
2 | [4,5]
我怎样才能达到上述结果。任何线索都会非常有帮助。另外,如果还有其他直接解决上述情况的帖子,请指出我
编辑:
我尝试了以下方法:
merge A as main_table
using B as updated_table
on main_table.id = updated_taable.id
when matched and main_table.x != updated_table.x then update set main_table.x = updated_table.x
when not matched then
insert(id, x) values (updated_table.id, updated_table.x)
;
希望这可以帮助。