You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在BigQuery中执行加减运算时遭遇语法错误求助

问题解决:CTE语法错误修复

你的CTE定义违反了SQL语法规范,CTE内部必须是一个有效的SELECT查询语句,而你直接在括号内编写算术运算表达式,导致解析器无法识别,抛出语法错误。

下面是两种正确的写法,都能实现你需要的差额计算:

写法一:嵌套子查询直接计算

WITH CALCULO AS (
  SELECT 
    (SELECT SUM(UTILITY) FROM _coste_rv) - 
    ((SELECT SUM(UTILITY) FROM _coste_rv) + (SELECT SUM(UTILITY) FROM _tmp_coste)) AS DIFFERENCE
)
-- 调用CTE获取结果
SELECT DIFFERENCE FROM CALCULO;

写法二:拆分聚合逻辑(可读性更好)

WITH COSTE_RV_TOTAL AS (
  SELECT SUM(UTILITY) AS total_rv FROM _coste_rv
),
TMP_COSTE_TOTAL AS (
  SELECT SUM(UTILITY) AS total_tmp FROM _tmp_coste
)
SELECT 
  crv.total_rv - (crv.total_rv + tct.total_tmp) AS DIFFERENCE
FROM COSTE_RV_TOTAL crv, TMP_COSTE_TOTAL tct;

两种写法的核心都是确保CTE返回一个有效的结果集,再在这个基础上完成算术运算。

内容的提问来源于stack exchange,提问作者Ravenz Boomer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 19:55:22