Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Minha solução

SELECT TOP 1
f.COD_PRODUTO
f.NUMERO,
f.QUANTIDADE,
f.PRECO,
p.NOME_DO_PRODUTO
FROM ITENS_NOTAS_FISCAIS f
LEFT JOIN TABELA_DE_PRODUTOS p
ON f.CODIGO_DO_PRODUTO = p.CODIGO_DO_PRODUTO
WHERE NOME_DO_PRODUTO = 'Linha Refrescante - 1 Litro - Morango/Limao'
ORDE BY QUANTIDADE DESC

1 resposta

Oi, estudante. Tudo bem com você?

Sua solução segue uma abordagem diferente da apresentada na atividade, mas atende à lógica proposta. Você relacionou ITENS_NOTAS_FISCAIS com TABELA_DE_PRODUTOS usando LEFT JOIN, filtrou diretamente pelo nome do produto e utilizou TOP 1 junto com ORDER BY QUANTIDADE DESC para obter a maior quantidade. Essa é uma forma válida de chegar ao resultado sem precisar primeiro consultar manualmente o código do produto.

Só há um ponto de sintaxe no código: você escreveu ORDE BY QUANTIDADE DESC, mas o comando correto é ORDER BY QUANTIDADE DESC. Além disso, como está utilizando TOP 1, o SQL Server retornará somente o registro com a maior quantidade, que nesse caso deve apresentar a quantidade 99.

Outro ponto interessante é que você trouxe outras informações na consulta, como número da nota, preço e nome do produto. Isso pode ser útil para contextualizar qual venda atingiu a maior quantidade, indo um pouco além do que o desafio solicita.

Se você quisesse descobrir também quais outras vendas tiveram a mesma maior quantidade, que alteração faria nessa consulta?

Parabéns por compartilhar sua solução. Continue testando diferentes formas de construir as consultas, porque comparar abordagens é uma ótima maneira de evoluir em SQL. O fórum está à disposição para continuar essa troca.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!