在MySQL中,我可以使用
update TableA, TableB
set TableA.field1 = TableB.field1
where TableA.id = TableB.id
TableA
id field1 field2
1 hello hi
TableB
id field1 field2
1 world earth
运行查询后,TableA值将更新为
TableA
id field1 field
1 world hi
在BigQuery中,我不能这样做。似乎我必须遍历TableB,为每个匹配的行更新TableA。 BigQuery拥有庞大的数据。通过TableB循环每个匹配的行,更新查询不会运行良好。
或者出于性能原因,在bigquery中,我可以
有什么建议吗?
答案 0 :(得分:2)
在BigQuery中,我不能这样做......
你确定可以!!! 使用BigQuery Standard SQL的DML
UPDATE `project.dataset.TableA` AS TableA
SET TableA.field1 = TableB.field1
FROM `project.dataset.TableB` AS TableB
WHERE TableA.id = TableB.id