Bigquery错误:UPDATE / MERGE必须与每个目标行最多匹配一个源行

时间:2018-05-24 08:28:05

标签: google-bigquery

只是想知道是否有人可以帮助解决以下错误:

UPDATE / MERGE必须与每个目标行最多匹配一个源行

我的查询如下:

更新sandbox.sellout s SET s.SKU_Label = TRIM(SKU_TEMP.SKU) FROM(SELECT SKU,Old_SKU FROM sandbox.ref_sku_temp)SKU_TEMP TRIM(SKU_TEMP.Old_SKU)= TRIM(s.SKU)

3 个答案:

答案 0 :(得分:0)

如果要更新的表中的行与FROM子句中的多行连接在一起,则查询将生成以下运行时错误:UPDATE / MERGE必须与每个目标行最多匹配一个源行。 Data Manipulation Language Syntax

答案 1 :(得分:0)

问题与源表中的重复行有关。请考虑删除dups并运行查询。或在此处发布示例数据。

答案 2 :(得分:0)

发生这种情况是因为 BigQuery 的目标表包含重复的行(w.r.t 您正在加入)。如果要更新的表中的一行与 FORM 子句中的多行联接,则 BigQuery 返回此错误:

解决方案

  • 从目标表中删除重复的行并执行 UPDATE/MERGE 操作
  • 在 BigQuery 目标表中定义主键以避免数据冗余