1
resposta

ERRO 1630

0    58    18:15:35    SELECT YEAR (DATA_VENDA), 
 FLOOR(SUM (IMPOSTO * (QUANTIDADE * PRECO))) 
 FROM itens_notas_fiscais AS A
 INNER JOIN notas_fiscais AS B
 ON A.NUMERO = B.NUMERO 
 WHERE YEAR (DATA_VENDA) = 2016
 LIMIT 0, 1000    Error Code: 1630. FUNCTION sucos_vendas.SUM does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manual    0.125 sec
1 resposta

Oi, Vitor! Tudo certo?

Desde já, peço desculpas pela demora em retornar.

O erro que você compartilhou está ocorrendo devido ao um problema de escrita na chamada da função SUM. Para que ela seja efetivamente reconhecida pelo MySQL Workbench, é necessário remover o espaço presente entre a palavra SUM e a abertura dos parênteses, chegando no seguinte resultado:

FLOOR(SUM(IMPOSTO * (QUANTIDADE * PRECO))) 

Ademais, tendo em vista que estamos utilizando uma função de agrupamento (a função SUM), precisamos indicar a partir de qual informação queremos que esse agrupamento ocorra. Como a ideia é analisar o imposto do ano de 2016, o nosso agrupamento de registros será através do ano de DATA_VENDA.

Inserindo isso ao nosso código SQL, chegamos em algo assim:

SELECT YEAR (DATA_VENDA), 
FLOOR(SUM(IMPOSTO * (QUANTIDADE * PRECO))) 
FROM itens_notas_fiscais AS A
INNER JOIN notas_fiscais AS B
ON A.NUMERO = B.NUMERO 
WHERE YEAR(DATA_VENDA) = 2016
GROUP BY YEAR(DATA_VENDA)

Observe que, na última linha, inserimos o comando GROUP BY YEAR(DATA_VENDA). Com isso, coletamos os anos do campo DATA_VENDA e indicamos, através do GROUP BY, que esse será o critério de agrupamento da consulta!

Espero ter ajudado, Vitor! Caso surja outras dúvidas, fico à disposição.

Até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software