1
resposta

[Dúvida] Aula "Classificar Resultados"

Boa tarde!

SELECT EMBALAGEM,
CASE 
    WHEN PRECO_DE_LISTA >= 12 THEN 'PRODUTO CARO'
    WHEN PRECO_DE_LISTA >= 7 AND PRECO_DE_LISTA < 12 THEN 'PRODUTO EM CONTA'
    ELSE 'PRODUTO BARATO' 
END AS STATUS_PRECO, AVG(PRECO_DE_LISTA) AS PRECO_MEDIO
FROM tabela_de_produtos
GROUP BY EMBALAGEM, 
CASE 
    WHEN PRECO_DE_LISTA >= 12 THEN 'PRODUTO CARO'
    WHEN PRECO_DE_LISTA >= 7 AND PRECO_DE_LISTA < 12 THEN 'PRODUTO EM CONTA'
    ELSE 'PRODUTO BARATO' 
END

Por que é necessário repetir o comando "case" com as mesmas especificações duas vezes?

1 resposta

Oi Ana Clara, tudo bem?

Neste caso, você vai gerar duas colunas na sua consulta com o mesmo resultado, pode existir algum cenário específico onde isto seja necessário, por exemplo, um relatório, ou arquivo de integração entre sistemas que espera exatamente este formato.

Mas, o mais provável mesmo, é que isto foi só um engano, e você está certa na sua intuição, esta repetição não precisaria existir.

;)