繁体   English   中英

为什么我在 CTE 查询中收到“')' 附近的语法错误”错误?

[英]Why am I getting an "Incorrect syntax near ')'" error for a CTE query?

我正在关注 Alex the Analyst's Portfolio Project for SQL 数据探索(大约 59 分钟),但我被困在“构建 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 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
)

我知道自从视频上传后原始表已经更新,这就是为什么我已经对查询进行了一些调整(bigint,ROWS UNBOUNDED PRECEDING),但我一直得到

消息 102,第 15 级,State 1,第 86 行
')' 附近的语法不正确。

如何修复它,以便通过查询获得所需的 CTE?

您需要使用 CTE。 例如...

-- Note, you do not need to repeat the column names.
with PopvsVac as (
  ...
)
select *
from PopvsVac;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM