1
resposta

[Minha Solução] - Desafio sabores dos produtos mais vendidos

SELECT DISTINCT tdp.sabor
FROM itens_notas_fiscais INF
INNER JOIN tabela_de_produtos TDP
ON inf.codigo_do_produto = tdp.codigo_do_produto
WHERE tdp.sabor IN (SELECT SABOR FROM tabela_de_produtos)
GROUP BY inf.codigo_do_produto, tdp.nome_do_produto, TDP.sabor
HAVING SUM(inf.quantidade) > 394000;

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

1 resposta

Oi Carlos,

Sua solução está quase perfeita! 👍

A consulta está retornando os sabores dos produtos que tiveram uma quantidade total vendida superior a 394000.

No entanto, a subconsulta WHERE tdp.sabor IN (SELECT SABOR FROM tabela_de_produtos) é redundante, pois ela não adiciona nenhuma restrição adicional à consulta, já que você está verificando se o sabor existe na própria tabela de produtos.

Você pode remover essa parte da sua query. 🤔

Sua consulta ficaria assim:

SELECT DISTINCT tdp.sabor
FROM itens_notas_fiscais INF
INNER JOIN tabela_de_produtos TDP
ON inf.codigo_do_produto = tdp.codigo_do_produto
GROUP BY inf.codigo_do_produto, tdp.nome_do_produto, TDP.sabor
HAVING SUM(inf.quantidade) > 394000;

Para saber mais: Documentação oficial do Oracle sobre a cláusula HAVING.

Continue praticando e explorando o mundo do SQL! 💪