如何在BigQuery中仅为特定行设置新列值?
正确的BigQuery查询实现
针对你的需求,以下是可以直接运行的BigQuery SQL代码:
SELECT Team, `Team type` AS Teamtype, CASE -- 仅当Team 1的B1类型时返回Team x WHEN Team = 'Team 1' AND `Team type` = 'B1' THEN 'Team x' -- 其余情况直接返回Team字段的值 ELSE Team END AS Team_model FROM -- 替换成你的项目、数据集和表名 `your-project.your-dataset.target-table`;
核心修正点:
- 原写法中
ELSE team_model = %team%是错误逻辑,CASE表达式的分支需要直接返回值,而非赋值语句 - 由于原表列名
Team type包含空格,BigQuery中必须用反引号`包裹该列名,否则会触发语法错误 - SQL字符串常量必须用单引号
'包裹,这是标准语法,BigQuery严格遵循此规则
内容的提问来源于stack exchange,提问作者Martin JUNEK
相关产品推荐
相关产品推荐

