Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

[Dúvida] Resposta está errada:

Queremos construir um SQL cujo resultado seja, para cada cliente:

“O cliente João da Silva faturou 120000 no ano de 2016”.

Somente para o ano de 2016.

Resposta:

SELECT CONCAT('O cliente ', TC.NOME, ' faturou ', CAST(SUM(INF.QUANTIDADE * INF.preco) AS char (20)) , ' no ano ', CAST(YEAR(NF.DATA_VENDA) AS char (20))) AS SENTENCA FROM notas_fiscais NF INNER JOIN itens_notas_fiscais INF ON NF.NUMERO = INF.NUMERO INNER JOIN tabela_de_clientes TC ON NF.CPF = TC.CPF WHERE YEAR(DATA_VENDA) = 2016 GROUP BY TC.NOME, YEAR(DATA_VENDA)

Retorno o workbenck está dando erro

5 respostas

Carlos,

Seria isto?

SELECT CONCAT('O cliente ', TC.NOME, ' faturou ', INF.QUANTIDADE * INF.preco , ' no ano ', 
        YEAR(NF.DATA_VENDA)) AS SENTENCA 
FROM notas_fiscais NF 
INNER JOIN itens_notas_fiscais INF 
    ON NF.NUMERO = INF.NUMERO 
INNER JOIN tabela_de_clientes TC 
    ON NF.CPF = TC.CPF 
WHERE YEAR(DATA_VENDA) = 2016 
GROUP BY TC.NOME, YEAR(DATA_VENDA), INF.QUANTIDADE * INF.preco 

[]'s,

Fabio I.

Boa tarde, Fabio:

continua com erro

Boa tarde Carlos,

Estranho. Pode colocar o erro que apareceu aqui?

SELECT CONCAT

[]'s,

Fabio I.

Fabio, retorno da sua consulta

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Após rever a aula e alterar o SELECT para o que está abaixo, consgui o retono esperado:

SELECT CONCAT('O cliente ', TC.NOME, ' faturou ', INF.QUANTIDADE * INF.preco , ' no ano ', YEAR(NF.DATA_VENDA)) AS SENTENCA FROM notas_fiscais NF INNER JOIN itens_notas_fiscais INF ON NF.NUMERO = INF.NUMERO INNER JOIN tabela_de_clientes TC ON NF.CPF = TC.CPF WHERE YEAR(DATA_VENDA) = 2016 GROUP BY CONCAT('O cliente ', TC.NOME, ' faturou ', INF.QUANTIDADE * INF.preco , ' no ano ', YEAR(NF.DATA_VENDA)), YEAR(DATA_VENDA);

    Obrigado pelo auxílio 
solução!

Carlos,

Boa! Aqui funcionou também:

SELECT CONCAT('O cliente ', TC.NOME, ' faturou ', INF.QUANTIDADE * INF.preco , 
              ' no ano ', YEAR(NF.DATA_VENDA)) AS SENTENCA 
FROM notas_fiscais NF 
    INNER JOIN itens_notas_fiscais INF 
        ON NF.NUMERO = INF.NUMERO 
    INNER JOIN tabela_de_clientes TC 
        ON NF.CPF = TC.CPF 
WHERE YEAR(DATA_VENDA) = 2016 
GROUP BY CONCAT('O cliente ', TC.NOME, ' faturou ', INF.QUANTIDADE * INF.preco , 
                ' no ano ', YEAR(NF.DATA_VENDA)), YEAR(DATA_VENDA);

SELECT CONCAT

OKay, não esqueça de fechar o tópico e se eu te ajude, por favor, me pontue. Valew!

[]'s,

Fabio I.

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