1
resposta

[Projeto] Desafio: usando visão para substituir o HAVING

CREATE VIEW QTD_PRODUTOS_MAIS_VENDIDOS AS
SELECT INF.CODIGO_DO_PRODUTO AS COD_PRODUTO,
        TP.NOME_DO_PRODUTO AS NOME_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  

SELECT COD_PRODUTO,
       NOME_PRODUTO,
       QUANTIDADE
FROM  QTD_PRODUTOS_MAIS_VENDIDOS    
WHERE QUANTIDADE > 394000
ORDER BY QUANTIDADE DESC
1 resposta

Olá, Álvaro, tudo bem?

Mandou muito bem resolvendo o desafio proposto.

Só tenho uma observação sobre o seu comando, como na criação da View você especificou que queria retornar os campos:

  • CODIGO_DO_PRODUTO
  • NOME_DO_PRODUTO
  • SUM(QUANTIDADE)

Ao utilizar está View no SELECT, você não precisa especificar que deseja retornar estes campos, pois eles já serão retornados automaticamente. Então, a sua query ficaria um pouco mais simples:

SELECT *
FROM  QTD_PRODUTOS_MAIS_VENDIDOS    
WHERE QUANTIDADE > 394000
ORDER BY QUANTIDADE DESC

Continue assim e bons estudos!

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