Para construir um SQL cujo resultado seja, para cada cliente: **"O cliente João da Silva faturou 120000 no ano de 2016".
Precisaremos dos campos [NOME]
, QUANTIDADE*PREÇO
para o faturamento e YEAR(DATA)
para obter o ano. Posso conseguir estes dados com o código abaixo:
SELECT [NOME], QUANTIDADE*PREÇO, YEAR(DATA)
FROM [TABELA DE CLIENTES] C INNER JOIN [NOTAS FISCAIS] N
ON C.[CPF] = N.[CPF] INNER JOIN [ITENS NOTAS FISCAIS] I
ON N.[NUMERO] = I.[NUMERO]
WHERE YEAR(DATA) = 2016;
Este query funciona, mas quando uso o código abaixo para formar a frase:
SELECT 'O cliente ' + [NOME] + ' faturou ' + QUANTIDADE*PREÇO + ' no ano de ' + YEAR(DATA)
FROM [TABELA DE CLIENTES] C INNER JOIN [NOTAS FISCAIS] N
ON C.[CPF] = N.[CPF] INNER JOIN [ITENS NOTAS FISCAIS] I
ON N.[NUMERO] = I.[NUMERO]
WHERE YEAR(DATA) = 2016;
Apresenta a seguinte mensagem de erro:
Mensagem 8114, Nível 16, Estado 5, Linha 35
Erro ao converter tipo de dados varchar em float.
Creio que este erro está por algum motivo na multiplicação dos campos [QUANTIDADE]
e [PREÇO]
, mas não sei como resolver isto.
Por favor, preciso de orientação para resolver isto.