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

CTE查询报'Incorrect syntax near ')''错误,如何修复?

修复SQL CTE语法错误:Incorrect syntax near ')'

你遇到的错误核心原因是CTE定义完成后没有跟上任何引用该CTE的查询语句。在SQL Server中,CTE(公共表表达式)只是临时结果集的定义,必须紧接着对其进行调用(比如SELECT、UPDATE等操作),否则会触发语法错误。

结合你已经完成的适配调整(转换为bigint、显式指定ROWS UNBOUNDED PRECEDING),修复后的完整查询如下:

WITH PopvsVac ( Continent, location, date, population, new_vaccinations, RollingPeopleVaccinated )
AS (
    SELECT
        dea.continent,
        dea.location,
        dea.date,
        dea.population,
        vac.new_vaccinations,
        SUM(CAST(vac.new_vaccinations AS bigint)) OVER (
            PARTITION BY dea.location
            ORDER BY dea.location, dea.date 
            ROWS UNBOUNDED PRECEDING
        ) AS RollingPeopleVaccinated
    FROM
        PortfolioProject..CovidDeaths AS dea
        INNER JOIN PortfolioProject..CovidVaccinations AS vac ON 
            dea.location = vac.location
            AND dea.date = vac.date
    WHERE
        dea.continent IS NOT NULL
)
-- 必须添加这部分:引用CTE的查询语句,这里以查询所有字段为例,可按需修改
SELECT * FROM PopvsVac

额外说明:

  • 你之前对new_vaccinations转换为bigint、添加ROWS UNBOUNDED PRECEDING的调整是正确的,适配了更新后的表结构,避免了数据溢出和窗口函数的歧义问题。
  • 如果你不需要查询所有字段,可以把SELECT *替换为具体列,比如SELECT location, date, population, RollingPeopleVaccinated FROM PopvsVac。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 10:15:33