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

Última linha incorreta

Bom dia! Eu acho que a última linha da resposta está errada. Eu fiz sozinho, consegui terminar, só olhei a resposta pra conferir, mas quando testei a resposta o resultado saiu errado. Acredito que seja por causa da última linha que está ordenando por quantidade e não por tamanho.

4 respostas

Olá João Pedro, tudo bem? Quando você fala último linha é apenas esse trecho do comando:

ORDER BY VENDA_TAMANHO.QUANTIDADE DESC

Ou é mais? Poderia indicar qual a parte do SELECT você pensa que está incorreto? E também poderia colocar a sua query para agente verificar?!

Fico aguardando retorno!

Isso Jonilson. Esse trecho mesmo:

ORDER BY VENDA_TAMANHO.QUANTIDADE DESC

Minha query: SELECT VENDA_TAMANHO.SABOR, VENDA_TAMANHO.TAMANHO, VENDA_TAMANHO.ANO, VENDA_TAMANHO.QUANTIDADE, ROUND((VENDA_TAMANHO.QUANTIDADE / VENDA_TOTAL.QUANTIDADE) * 100, 2) AS PARTICIPACAO FROM (SELECT TP.SABOR, TP.TAMANHO, YEAR(NF.DATA_VENDA) AS ANO, SUM(INF.QUANTIDADE) AS QUANTIDADE FROM TABELA_DE_PRODUTOS TP INNER JOIN ITENS_NOTAS_FISCAIS INF ON TP.CODIGO_DO_PRODUTO = INF.CODIGO_DO_PRODUTO INNER JOIN NOTAS_FISCAIS NF ON NF.NUMERO = INF.NUMERO WHERE YEAR(NF.DATA_VENDA) = 2016 GROUP BY TP.SABOR, TP.TAMANHO, YEAR(NF.DATA_VENDA)) AS VENDA_TAMANHO INNER JOIN (SELECT YEAR(NF.DATA_VENDA) AS ANO, SUM(INF.QUANTIDADE) AS QUANTIDADE FROM TABELA_DE_PRODUTOS TP INNER JOIN ITENS_NOTAS_FISCAIS INF ON TP.CODIGO_DO_PRODUTO = INF.CODIGO_DO_PRODUTO INNER JOIN NOTAS_FISCAIS NF ON NF.NUMERO = INF.NUMERO WHERE YEAR(NF.DATA_VENDA) = 2016 GROUP BY YEAR(NF.DATA_VENDA)) AS VENDA_TOTAL ON VENDA_TAMANHO.ANO = VENDA_TOTAL.ANO ORDER BY VENDA_TAMANHO.TAMANHO DESC;

solução!

Entendi João, bem essa última linha está correta, porque ela é apenas para fazer a ordenação dos resultados pela quantidade, ou seja da maior quantidade para a menor quantidade. Porém a sua query está com algumas diferenças que fazem com que os valores dos tipos venham repetidos, já a query disponibilizada como solução da atividade trás o seguinte resultado:

+------------+------+------------+--------------+
| TAMANHO    | ANO  | QUANTIDADE | PARTICIPACAO |
+------------+------+------------+--------------+
| 700 ml     | 2016 |    1072577 |        29.58 |
| 1,5 Litros | 2016 |     728225 |        20.08 |
| 350 ml     | 2016 |     615021 |        16.96 |
| 1 Litro    | 2016 |     605779 |        16.71 |
| 2 Litros   | 2016 |     360030 |         9.93 |
| 470 ml     | 2016 |     244608 |         6.75 |
+------------+------+------------+--------------+

No caso os sabores não são considerados, apenas o tamanho e o ano.

Espero ter ajudado!

Ahh o meu deve estar diferente do intrutor então, obrigado Jonilson!!