Oi, Thays! Tudo certo?
Desde já, peço desculpas pela demora em te responder.
Você está no caminho certo!! Para comparar os valores das colunas e retornar "ok" se estiverem iguais ou a diferença caso contrário, podemos continuar com o CASE WHEN
, observe um exemplo:
SELECT
MEDICAMENTO
, APRESENTACAO
, PRECO_M
, PRECO_FABRICA
, COTA
, PRECO_DIA
, CASE WHEN PRECO_M = PRECO_FABRICA AND PRECO_M = COTA AND PRECO_M = PRECO_DIA THEN 'ok'
ELSE CAST(ABS(PRECO_M - PRECO_FABRICA) AS VARCHAR(10)) + ' / ' + CAST(ABS(PRECO_M - COTA) AS VARCHAR(10)) + ' / ' + CAST(ABS(PRECO_M - PRECO_DIA) AS VARCHAR(10)) END AS COMPARATIVO
FROM MEDICAMENTOS
Acima, o CASE WHEN
compara cada uma das colunas com a coluna PRECO_M
. Se todas forem iguais, retorna "ok"
. Caso contrário, calcula a diferença absoluta entre os valores e retorna no formato "diferença1 / diferença2 / diferença3"
.
Para a apresentação das diferenças, utilizamos as funções CAST
(que transforma os valores em algum tipo específico) e ABS
(que obtém o valor absoluto de uma subtração.
Thays, espero ter ajudado! No entanto, vale ressaltar que como é um assunto externo ao curso e que não tenho acesso ao cenário completo do projeto, outros testes terão de ser feitos a fim de obter o resultado esperado (como no caso das comparações e diferenças, que podem ser diferentes do exemplo que eu trouxe), mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema!
Um forte abraço!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!