繁体   English   中英

谁能告诉我应该如何更正我的查询?

[英]Can anyone tell me how I should correct my query?

我不断收到以下查询的错误消息。 我不确定问题可能是什么,所以任何帮助表示赞赏。 这也是我不断收到的错误消息。 谢谢

语法错误:预期的关键字 AS 但在 [1:15] 得到“(”

WITH PopvsVac (continent, location, date, population, new_vaccinations, RollingPeopleVaccinated) AS 
    (SELECT dea.continent,
         dea.location,
         dea.date,
         dea.population,
         vac.new_vaccinations,
         SUM(CONVERT(int, vac.new_vaccinations)) OVER (PARTITION BY dea.location
    ORDER BY  dea.location,dea.date) AS RollingPeopleVaccinated
    FROM `phonic-scheme-348721.covid_deaths.deaths` dea
    JOIN `phonic-scheme-348721.covid_vaccine.vaccine` vac
        ON dea.location = vac.location
            AND dea.date = vac.date
    WHERE dea.continent is NOT NULL )
SELECT *
FROM PopvsVac

WITH 子句的用法: https ://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#with_clause

示例:with test as (select 1 as col1) select * from test

正如评论中提到的 jaytiger,您在 WITH 子句中添加了额外的内容。 我无法运行您的查询,但只需删除那些额外的东西就可以了。

请在下面尝试。

WITH
PopvsVac AS (
    SELECT
        dea.continent,
        dea.location,
        dea.date,
        dea.population,
        vac.new_vaccinations,
        SUM(CONVERT(int, vac.new_vaccinations)) OVER (
            PARTITION BY dea.location ORDER BY  dea.location,dea.date
        ) AS RollingPeopleVaccinated
    FROM `phonic-scheme-348721.covid_deaths.deaths` dea
    JOIN `phonic-scheme-348721.covid_vaccine.vaccine` vac
        ON dea.location = vac.location AND dea.date = vac.date
    WHERE dea.continent is NOT NULL
)
SELECT *
FROM PopvsVac
;

句法

query_expr: [ WITH [ RECURSIVE ] { non_recursive_cte | recursive_cte }[, ...] ] { 选择 | (query_expr) | set_operation } [ ORDER BY 表达式 [{ ASC | DESC }] [, ...] ] [ 限制计数 [ OFFSET skip_rows ] ]

请查看以下参考资料以获取更多信息:[1] 语法[2] 标准 SQL

暂无
暂无

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

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