Google bigquery BigQuery查询,根据分组计数更新条件字段
我希望在BigQuery中执行的查询的目标是,基于GROUPBY count中的某个值,我希望覆盖某个值 我当前的查询Google bigquery BigQuery查询,根据分组计数更新条件字段,google-bigquery,data-cleaning,Google Bigquery,Data Cleaning,我希望在BigQuery中执行的查询的目标是,基于GROUPBY count中的某个值,我希望覆盖某个值 我当前的查询 UPDATE MAN_18.MAN_4y SET actual_related_customer = customer_code WHERE (SELECT IF(arc_count > 1,1,0) AS double_cust FROM (SELECT COUNT(DISTINCT(actual_related_customer)) AS arc_count FRO
UPDATE MAN_18.MAN_4y
SET actual_related_customer = customer_code
WHERE (SELECT IF(arc_count > 1,1,0) AS double_cust FROM (SELECT
COUNT(DISTINCT(actual_related_customer)) AS arc_count
FROM MAN_18.MAN_4y
GROUP BY customer_code)
WHERE double_cust = 1)
预期结果如下所示:
从MAN_4y表中,我想使用customer_code和actual_related_customer列对其执行操作。首先,我想知道一个客户代码是否可以有多个不同的实际客户。如果是这样,在本例中这意味着arc_count大于1,我想使用customer_代码集在MAN_4y表中查找。我想看看这些客户代码的实际客户值。如果这些客户代码中某一行的实际客户与客户代码值不同,我想用当前客户代码值覆盖该行。您还可以解释为,对于客户代码的所有值,如果客户代码的弧计数大于1,则将该客户代码值写入与实际客户相关的客户
有人能帮我吗?您尝试构建的操作在BQ中是可能的 您需要做的是将subselect写入目标表,并且在UPDATE语句中引用目标表,因为DB引擎不提供在子查询中引用相同表的方法
这将导致两个步骤。您尝试构建的操作在BQ中是可能的 您需要做的是将subselect写入目标表,并且在UPDATE语句中引用目标表,因为DB引擎不提供在子查询中引用相同表的方法
这将产生两个步骤。下面是我如何在一个简单的步骤中实现这一点的方法(BigQuery标准SQL) 作为一个极其简化的示例: 如果原始表格如下所示:
Row customer_code actual_related_customer
1 1 3
2 1 4
3 2 5
然后在应用了更新之后-表更新为
Row customer_code actual_related_customer
1 1 1
2 1 1
3 2 5
除非我看错了问题-这正是我所期望的下面是我如何在一个简单的步骤中做到这一点的(BigQuery标准SQL) 作为一个极其简化的示例: 如果原始表格如下所示:
Row customer_code actual_related_customer
1 1 3
2 1 4
3 2 5
然后在应用了更新之后-表更新为
Row customer_code actual_related_customer
1 1 1
2 1 1
3 2 5
除非我把问题看错了——这正是我所期望的这里的问题是什么。您可以进行这样的更新,但首先需要运行“选择并写入”新表,然后在更新中加入该表并运行该表。@无论发生什么情况,Pentium10都必须分两步完成?是,因为无法从来自同一表的数据更新表table@Pentium10,如果你认为这是答案,您是否可以将其作为答案发布,以便让问题所有者接受它,并帮助社区获得不同的好答案?正在等待其他反馈这里的问题是什么。您可以进行这样的更新,但首先需要运行“选择并写入”新表,然后在更新中加入该表并运行该表。@无论发生什么情况,Pentium10都必须分两步完成?是,因为无法从来自同一表的数据更新表table@Pentium10,如果你认为这是答案,您是否可以将其作为答案发布,以便让问题所有者接受它,并帮助社区区分好的答案?正在等待其他反馈给我此检索:错误:DML over table“project.test.table”不受支持。它起作用了,抱歉。这是我的错,我使用了一个链接到谷歌表格的表格。非常感谢Mikhail:)当然,没问题:o)对我来说,这检索到:错误:DML over table“project.test.table”不受支持。它工作正常,抱歉。这是我的错,我使用了一个链接到谷歌表格的表格。非常感谢米哈伊尔:)当然,没问题