1
resposta

DUVIDA GROUP BY RELATÓRIO POR TAMANHO

BOA NOITE, EM MEU CÓDIGO DESTE EXERCÍCIO ELE SOLICITA QUE EU COLOQUE O GROUP BY, PORÉM NO CÓDIGO DO PROFESSOR, NÃO PRECISOU.

MEU CÓDIGO:


SELECT  AUX1.TAMANHO, AUX1.ANO, CONVERT(DECIMAL(10,2),AUX1.TOTALPT) AS FATURAMENTO, 
CONVERT( VARCHAR,CONVERT(DECIMAL(10,2),SUM(AUX1.TOTALPT/AUX2.TOTAL)*100)) + '%' AS PARTICIPACAO
FROM
(SELECT TP.TAMANHO, Year(NF.DATA) AS ANO, SUM(INF.QUANTIDADE * INF.PREÇO) AS TOTALPT
FROM [ITENS NOTAS FISCAIS] INF
INNER JOIN[TABELA DE PRODUTOS] TP 
ON TP.[CODIGO DO PRODUTO]= INF.[CODIGO DO PRODUTO]
INNER JOIN [NOTAS FISCAIS] NF
ON NF.NUMERO= INF.NUMERO
WHERE YEAR(NF.DATA)= 2016
GROUP BY TP.TAMANHO,Year(NF.DATA)
) AUX1
INNER JOIN (SELECT  Year(NF.DATA) AS ANO, SUM(INF.QUANTIDADE * INF.PREÇO) AS TOTAL
FROM [ITENS NOTAS FISCAIS] INF
INNER JOIN[TABELA DE PRODUTOS] TP 
ON TP.[CODIGO DO PRODUTO]= INF.[CODIGO DO PRODUTO]
INNER JOIN [NOTAS FISCAIS] NF
ON NF.NUMERO= INF.NUMERO
WHERE YEAR(NF.DATA)= 2016
GROUP BY Year(NF.DATA)
) AUX2
ON AUX1.ANO= AUX2.ANO
GROUP BY AUX1.TAMANHO, AUX1.ANO, AUX1.TOTALPT
ORDER BY AUX1.TOTALPT DESC

DO PROFERROR:

SELECT AUX1.TAMANHO, AUX1.ANO, CONVERT(DECIMAL(15,2), AUX1.FATURAMENTO) AS FATURAMENTO, 
CONVERT(VARCHAR, CONVERT(DECIMAL(15,2),(AUX1.FATURAMENTO/AUX2.TOTAL) * 100)) + ' %' 
AS PERCENTUAL FROM
(SELECT TP.TAMANHO, YEAR(NF.DATA) AS ANO, SUM (INF.QUANTIDADE * INF.PREÇO) AS FATURAMENTO
FROM [ITENS NOTAS FISCAIS] INF INNER JOIN [TABELA DE PRODUTOS] TP
ON TP.[CODIGO DO PRODUTO] = INF.[CODIGO DO PRODUTO]
INNER JOIN [NOTAS FISCAIS] NF 
ON NF.NUMERO = INF.NUMERO
WHERE YEAR(NF.DATA) = 2016
GROUP BY TP.TAMANHO, YEAR(NF.DATA)) AUX1
INNER JOIN (SELECT YEAR(NF.DATA) AS ANO, SUM (INF.QUANTIDADE * INF.PREÇO) AS TOTAL
FROM [ITENS NOTAS FISCAIS] INF INNER JOIN [TABELA DE PRODUTOS] TP
ON TP.[CODIGO DO PRODUTO] = INF.[CODIGO DO PRODUTO]
INNER JOIN [NOTAS FISCAIS] NF 
ON NF.NUMERO = INF.NUMERO
WHERE YEAR(NF.DATA) = 2016
GROUP BY YEAR(NF.DATA)) AUX2
ON AUX1.ANO = AUX2.ANO
ORDER BY AUX1.FATURAMENTO DESC

NAO CONSEGUI achar a diferença?

1 resposta

Olá Larissa, tudo bem?

Executei as duas queries, e o resultado foi retornado sem problema para as duas. Então você poderia fornecer mais detalhes do seu ambiente?

  • Como você está executando a query? Seleciona todo o código e executa?
  • Você poderia disponibilizar um print da sua tela no momento que executa a sua query?

Caso tenha dificuldades em upar a imagem diretamente aqui no fórum, você pode upar no imgur e disponibilizar o link aqui.

Qualquer dúvida é só falar!

Aguardo o seu retorno!