1
resposta

Cheguei ao mesmo resultado utilisando o CASE WHEN, porém reconheço que me antecipei em relação ao conteúdo ensinado. Achei melhor por utilizar menos linhas de código.

SELECT
    COUNT(CASE WHEN CODIGO_DO_PRODUTO = '1101035' AND QUANTIDADE = 99 THEN 1 END) AS QTD_PRODUTO
FROM
    ITENS_NOTAS_FISCAIS;
1 resposta

Oi, Leonardo, tudo bem?

Obrigado por compartilhar seu código com os demais alunos e alunas, tenho certeza que vai ajudar todas as pessoas que estão estudando este mesmo assunto e realizando esta ativdiade.

A única diferença do seu código para o código apresentado pelo instrutor é o uso do CASE que conta o número de registros onde a condição (CODIGO_DO_PRODUTO = '1101035' AND QUANTIDADE = 99) é verdadeira. No entanto, essa função retorna NULL para os registros que não atendem à condição. A contagem final é então do número de registros em que a condição é verdadeira, excluindo aqueles em que a condição é falsa ou NULL. Já no código do instrutor:

SELECT COUNT(*) FROM ITENS_NOTAS_FISCAIS WHERE CODIGO_DO_PRODUTO = '1101035' AND QUANTIDADE = 99;

A função COUNT está sendo usada com COUNT(*), que conta o número total de registros onde a condição (CODIGO_DO_PRODUTO = '1101035' AND QUANTIDADE = 99) é verdadeira. Não há exclusão de registros com valores NULL neste caso.

Contudo, ambas estão certas e levam a um mesmo resultado. Portanto, parabéns por explorar outras alternativas para resolver esta atividade e caso tenha dúvidas em seus estudos, conte com a comunidade do fórum para te ajudar!

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!