1
resposta

Desafio: transformando HAVING em Subconsultas

Resolução abaixo:

SELECT QUANTIDADES.CODIGO_DO_PRODUTO, QUANTIDADES.NOME_DO_PRODUTO, QUANTIDADE FROM
    (SELECT INF.CODIGO_DO_PRODUTO, TP.NOME_DO_PRODUTO, SUM(INF.QUANTIDADE) AS QUANTIDADE
    FROM ITENS_NOTAS_FISCAIS INF
    INNER JOIN TABELA_DE_PRODUTOS TP
    ON INF.CODIGO_DO_PRODUTO = TP.CODIGO_DO_PRODUTO
    GROUP BY INF.CODIGO_DO_PRODUTO, TP.NOME_DO_PRODUTO) AS QUANTIDADES
    WHERE QUANTIDADE > 394000
1 resposta

Oi, Felipe!! Tudo certo?

Peço desculpas pela demora em te responder.

Mandou muito bem na resolução da atividade, parabéns!

Para completar a consulta, você pode ordená-la a partir dos valores da coluna QUANTIDADE, isso é possível por meio da cláusula ORDER BY.

Observe o script SQL abaixo com a nova modificação:

SELECT QUANTIDADES.CODIGO_DO_PRODUTO, QUANTIDADES.NOME_DO_PRODUTO, QUANTIDADE FROM
    (SELECT INF.CODIGO_DO_PRODUTO, TP.NOME_DO_PRODUTO, SUM(INF.QUANTIDADE) AS QUANTIDADE
    FROM ITENS_NOTAS_FISCAIS INF
    INNER JOIN TABELA_DE_PRODUTOS TP
    ON INF.CODIGO_DO_PRODUTO = TP.CODIGO_DO_PRODUTO
    GROUP BY INF.CODIGO_DO_PRODUTO, TP.NOME_DO_PRODUTO) AS QUANTIDADES
    WHERE QUANTIDADE > 394000
    ORDER BY QUANTIDADE DESC;

Na última linha, indicamos que os registros apresentados pelo SELECT serão ordenados, de forma decrescente (indicado pela expressão DESC), levando em consideração os valores da coluna QUANTIDADE!

Felipe, continue sempre estudando e se dedicando! Em caso de dúvidas, fico à disposição para ajudar.

Abraços!

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