1
resposta

[Minha Solução] - Desafio Usar a visão para substituir o HAVING

--Criação da VIEW:

CREATE VIEW VW_SOMA_QUANTIDADE AS
SELECT INF.CODIGO_DO_PRODUTO,
       TP.NOME_DO_PRODUTO,
       SUM(INF.QUANTIDADE) AS SOMA_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 dos dados da VIEW:

SELECT 
    NOME_DO_PRODUTO,
    CODIGO_DO_PRODUTO,
    SOMA_QUANTIDADE
    FROM VW_SOMA_QUANTIDADE
WHERE SOMA_QUANTIDADE > 394000
ORDER BY SOMA_QUANTIDADE;

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

1 resposta

Oi Carlos,

Sua solução está excelente 👍!

A criação da view VW_SOMA_QUANTIDADE e a consulta subsequente demonstram um bom entendimento de como usar views para simplificar consultas e substituir o HAVING.

O uso do GROUP BY na view e do WHERE na consulta final está correto, filtrando os resultados conforme o esperado. 👏

Para saber mais: Documentação oficial do Oracle sobre Views.

Continue praticando e explorando as funcionalidades do SQL! 💪