1
resposta

Me explica a logica do comando case, por favor

Ola, boa noite, gostaria de saber o porque no resultado da consulta, aparece repetido 3 x a garrafa e 2 x o pet? Desde ja agradeço.

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

1 resposta

Olá Rafael, tudo bem com você?

O comando CASE é utilizado para fazer testes em um ou mais campos e, quando determinada condição for atendida, ele irá seguir por um caminho específico. A estrutura do comando CASE é composta pelos termos:

  • WHEN (quando)
  • THEN (então)
  • ELSE (senão)
  • END (fim).

Dessa forma, definimos uma condição após o termo WHEN e, se essa condição for verdadeira, o valor especificado após o termo THEN será retornado. Caso contrário, o próximo WHEN é verificado e assim por diante. Se nenhuma das condições for atendida, o valor especificado após o termo ELSE será retornado.

Quanto à repetição dos valores da embalagem, isso ocorre porque ao utilizarmos a GROUP BY, estamos agrupando os registros por EMBALAGEM e pelo resultado da expressão CASE, que define a categoria de preço (PRODUTO CARO, PRODUTO EM CONTA, ou PRODUTO BARATO), então, por mais que dê essa impressão de repetição, são combinações de embalagem e categorias de preços diferentes, por exemplo, "GARRAFA" aparece três vezes, mas com diferentes valores de STATUS_PRECO:

  • Garrafa | Produto Barato
  • Garrafa | Produto em Conta
  • Garrafa | Produto Caro

Portanto, esse resultado é esperado, porque são combinações únicas entre as duas colunas citadas, onde essas informações devem ser analisadas em conjunto e não individualmente.

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

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