【发布时间】:2022-12-22 00:17:38
【问题描述】:
我有一个带有模式的表 A
ID -> type(String)
experience -> type(Array of Struct)
A.experience 列有 6 个字符串类型的子字段。
我希望使用另一个表 B(可以根据 ID 连接)更新 A.experience,并且还有 6 列对应于 A.experience 中的键。
表 B 中的所有列都是 String 类型。
这是我试过的
update A
set A.experience = (company,starts_at,ends_at,eid,title,location)
from B
where A.id = B.id;
任何帮助,将不胜感激。谢谢!
【问题讨论】:
-
这回答了你的问题了吗? Update struct or nested field in bigquery
-
@Jaytiger 我可以利用你的帮助;我可以在表 A 中增加 6 列,然后更新 A.experience = STRUCT(A.1,A.2...A.6) ;稍后我将删除这 6 列。这就是我现在能想到的
-
有什么理由创建额外的 6 列来更新 A.experience 吗?我认为您可以使用 B 的列直接更新 A.experience。
-
@Jaytiger 我无法将 B 的值分配给 A 的 Struct 列。所以我想到了创建额外临时列的解决方法。然后我可以使用 STRUCT() 来赋值。似乎有点矫枉过正,但我找不到其他任何东西。我什至无法更新结构的单个条目,这是另一个问题。
-
@AlmightyHeathcliff 如果您可以添加一些示例数据或至少添加问题中两个表的架构,那会更好。
标签: google-bigquery