1
resposta

Para fazer o exemplo do produtos na média com o limão eu fiz assim:

SELECT NOME_DO_PRODUTO, PRECO_DE_LISTA,
(CASE WHEN PRECO_DE_LISTA >= 11.5 THEN 'Produto pontecialmente caro'
      WHEN PRECO_DE_LISTA >= 7 THEN 'Produto na média'
      ELSE 'Produto abaixo da media' END) AS CLASSIFIACAO_MONETARIA
FROM TABELA_DE_PRODUTOS WHERE SABOR LIKE '%Limao'
1 resposta

Olá, Carlos, tudo bem?

Desde já peço desculpas pela demora em obter retorno.

Primeiramente, parabéns pela sua participação no fórum e por compartilhar o seu código.

Analisei a sua consulta e tenho um ponto de melhoria.

Ao fazer as condições do CASE, na condição que categoriza o produto em 'Produto na média', você utiliza apenas a condição PRECO_DE_LISTA >= 7, ou seja, o valor que é mais de 7, já é considerado produto na média. Considerando um valor de produto que custe, por exemplo, 15, ele é maior que 7, portanto, é um produto na média, mas note que temos também a condição PRECO_DE_LISTA >= 11.5. Então, ele se encaixaria tamém como 'Produto pontecialmente caro'.

Ao rodar o script, ele irá satisfazer a primeira condição. Portanto, um 'Produto pontecialmente caro'. Mas se por acaso a linhas estivessem trocadas, como no exemplo abaixo:

CASE  WHEN PRECO_DE_LISTA >= 7 THEN 'Produto na média'
      WHEN PRECO_DE_LISTA >= 11.5 THEN 'Produto pontecialmente caro'

Ele seria categorizado em 'Produto na média', pois já satisfaria a primeira condição. Logo, para ser mais assertivo devemos colocar um intervalo, para os produtos na média, que será PRECO_DE_LISTA >= 7 AND PRECO_DE_LISTA < 11.5. Portanto, o seu código corrigido, ficará assim:

SELECT NOME_DO_PRODUTO, PRECO_DE_LISTA,
(CASE WHEN PRECO_DE_LISTA >= 11.5 THEN 'Produto pontecialmente caro'
      WHEN PRECO_DE_LISTA >= 7 AND PRECO_DE_LISTA < 11.5 THEN 'Produto na média'
      ELSE 'Produto abaixo da media' END) AS CLASSIFIACAO_MONETARIA
FROM TABELA_DE_PRODUTOS WHERE SABOR LIKE '%Limao'

Espero ter ajudado.

Caso surja alguma dúvida, fico à disposição.

Abraços e até mais!

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