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

SSMS最新版本中CTE查询报Msg 102语法错误,请求修正

修正CTE语法错误

报错的原因是你仅定义了CTE(公共表表达式),但没有在CTE定义后添加引用它的查询语句。SQL Server要求CTE定义完成后必须立即跟随SELECT、INSERT、UPDATE或DELETE等操作来使用这个临时结果集。

以下是修正后的代码示例(这里用SELECT *来查询CTE的所有内容,你可以根据需求修改查询逻辑):

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 int ) ) OVER ( PARTITION BY dea.location ORDER BY dea.location, dea.date ) AS RollingPeopleVaccinated
    FROM
        covidDeaths dea
        JOIN covidVaccinations vac ON
            dea.location = vac.location
            AND
            dea.date = vac.date
    WHERE
        dea.continent IS NOT NULL
)
-- 必须添加引用CTE的查询语句
SELECT * FROM PopVsVac;

如果需要更复杂的逻辑,比如筛选特定地区、计算接种率等,只需要把最后的SELECT * FROM PopVsVac;替换成对应的查询即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 08:55:15