Sou novo em SQL, tentei criar um CTE, mas recebo um rabisco vermelho embaixo do AS e recebo uma mensagem de erro no processo de execução da sintaxe:
Msg 102, Nível 15, Estado 1, Linha 117 Sintaxe incorreta próxima a ')'.
Esta é a sintaxe SQL, qualquer ajuda seria ótima:
WITH CTE_Grand_Harvest_Total AS (
SELECT
zardi, COUNT(zardi) AS Count_ZARDI, SUM(Weight) AS Sum_Weight, Total_Harvest, Total_Harvest*COUNT(zardi)*SUM(Weight) AS Grand_Total
FROM
S1_PH_CROPS_clean_final_minus_money_matters
WHERE
Work.dbo.S1_PH_CROPS_clean_final_minus_money_matters.cropNamePH = 'Maize'
GROUP BY
Total_Harvest, zardi
)
Uma CTE (expressão de tabela comum) é, na verdade, apenas parte de uma
SELECT
instrução. É algo que você define antes de realmenteSELECT
dados. Você poderia encarar isso como uma espécie de pré-seleção de dados antes de realmente recuperar os dados desse subconjunto de dados (do CTE).Você pode ver isso no artigo do Microsoft Learn que explica a
SELECT
declaração:Referência:
SELECT (Transact-SQL) (Microsoft Learn)
COM common_table_expression (Transact-SQL) (Microsoft Learn)
Você deve selecionar os dados do seu CTE, semelhante a este:
Então você está em conformidade com as
SELECT
definições de CTE e CTE.