I'm writing a procedure, using with to generate a table, then make an insert passing the fields of this table as a value, but mysql is returning a syntax error in the insert, does anyone have any idea what it is?
WITH origem AS (
SELECT
cnpj,
MAX(nome_empresa) AS nome_empresa,
SUM(qtd_documentos) AS qtd_documentos,
codigo_uf_emitente,
MAX(nome_uf_emitente) AS nome_uf_emitente,
codigo_cidade_emitente,
MAX(nome_cidade_emitente) AS nome_cidade_emitente,
codigo_uf_destinatario,
MAX(nome_uf_destinatario) AS nome_uf_destinatario,
codigo_cidade_destinatario,
MAX(nome_cidade_destinatario) AS nome_cidade_destinatario,
SUM(qtd_produtos) AS qtd_produtos,
SUM(valor_total_frete) AS valor_total_frete,
SUM(valor_total_nfe) AS valor_total_nfe,
_ano AS ano,
_mes AS mes
FROM
dataset_nfe_transportadoras_diario
WHERE
ano = _ano
AND mes = _mes
GROUP BY
cnpj,
codigo_uf_emitente,
codigo_cidade_emitente,
codigo_uf_destinatario,
codigo_cidade_destinatario
)
INSERT INTO dataset_nfe_transportadoras_mensal(
cnpj,
nome_empresa,
codigo_uf_emitente,
nome_uf_emitente,
codigo_cidade_emitente,
nome_cidade_emitente,
codigo_uf_destinatario,
nome_uf_destinatario,
codigo_cidade_destinatario,
nome_cidade_destinatario,
qtd_documentos,
qtd_produtos,
valor_total_nfe,
valor_total_frete,
mes,
ano
)
my sqlcode is it
You must use the CTE as SELECT
INSERT INTO dataset_nfe_transportadoras_mensal
WITH origem AS (
SELECT
cnpj,
MAX(nome_empresa) AS nome_empresa,
SUM(qtd_documentos) AS qtd_documentos,
codigo_uf_emitente,
MAX(nome_uf_emitente) AS nome_uf_emitente,
codigo_cidade_emitente,
MAX(nome_cidade_emitente) AS nome_cidade_emitente,
codigo_uf_destinatario,
MAX(nome_uf_destinatario) AS nome_uf_destinatario,
codigo_cidade_destinatario,
MAX(nome_cidade_destinatario) AS nome_cidade_destinatario,
SUM(qtd_produtos) AS qtd_produtos,
SUM(valor_total_frete) AS valor_total_frete,
SUM(valor_total_nfe) AS valor_total_nfe,
_ano AS ano,
_mes AS mes
FROM
dataset_nfe_transportadoras_diario
WHERE
ano = _ano
AND mes = _mes
GROUP BY
cnpj,
codigo_uf_emitente,
codigo_cidade_emitente,
codigo_uf_destinatario,
codigo_cidade_destinatario
)
SELECT
cnpj,
nome_empresa,
codigo_uf_emitente,
nome_uf_emitente,
codigo_cidade_emitente,
nome_cidade_emitente,
codigo_uf_destinatario,
nome_uf_destinatario,
codigo_cidade_destinatario,
nome_cidade_destinatario,
qtd_documentos,
qtd_produtos,
valor_total_nfe,
valor_total_frete,
mes,
ano
FROM origem