簡體   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