Google bigquery Google Bigquery基于WHERE的多个更新-需要解决方案吗
是否有基于其他字段值进行多个更新的方法 在哪里,不是案例 想法如下 谢谢Google bigquery Google Bigquery基于WHERE的多个更新-需要解决方案吗,google-bigquery,where,updates,bigquery-standard-sql,Google Bigquery,Where,Updates,Bigquery Standard Sql,是否有基于其他字段值进行多个更新的方法 在哪里,不是案例 想法如下 谢谢 #standardSQL UPDATE dataset.people SET CBSA_CODE = '54620' where substr(zip,1,5) = '99047', SET CBSA_CODE = '31793' where substr(zip,1,5) = '45700' 实际上,CASE表达式是处理此逻辑的典型方式: UPDATE dataset.people SET CBSA_CODE = CA
#standardSQL
UPDATE dataset.people
SET CBSA_CODE = '54620' where substr(zip,1,5) = '99047',
SET CBSA_CODE = '31793' where substr(zip,1,5) = '45700'
实际上,
CASE
表达式是处理此逻辑的典型方式:
UPDATE dataset.people
SET CBSA_CODE = CASE SUBSTR(zip, 1, 5)
WHEN '99047' THEN '54620'
WHEN '45700' THEN '31793' END
WHERE
SUBSTR(zip, 1, 5) IN ('99047', '45700');
我能看到的唯一替代方法是运行多个update语句,每个邮政编码值一个。但是,与使用
CASE
表达式相比,这似乎是笨拙和不可取的。CASE表达式实际上是处理此逻辑的典型方式:
UPDATE dataset.people
SET CBSA_CODE = CASE SUBSTR(zip, 1, 5)
WHEN '99047' THEN '54620'
WHEN '45700' THEN '31793' END
WHERE
SUBSTR(zip, 1, 5) IN ('99047', '45700');
我能看到的唯一替代方法是运行多个update语句,每个邮政编码值一个。但与使用
大小写
表达式相比,这似乎既笨拙又不可取。使用SQL大小写,它是标准SQL的一部分(请参阅):
Use SQL CASE是标准SQL的一部分(请参阅):
这里用的箱子有什么问题?这里用的箱子有什么问题?请参阅文件。请参阅文件。