COMANDO SQL

FERRUBIM 01/03/2023 15:24:47
#501070
Alguem pode me ajudar nesse comando:
preciso do seguinte... se o cliente teve um DESCR_ANDAMENTO = "EM NEGOCIAÇÃO" vai para o próximo cliente sem precisar ver se tem "ACORDO" ,
"QUEBRA" ,
"RECADO" ,
"NÃO ATENDE"

caso ele não tenha "EM NEGOCIAÇÃO", ve se tem "ACORDO" , vai para o próximo cliente sem precisar ver se tem
"QUEBRA" ,
"RECADO" ,
"NÃO ATENDE"

e assim para os outros...como faço para mostrar assim ??


SELECT DISTINCT(OBSERVACOESEVE.NR_CHAVE),NM_CLIENTE ,OBSERVACOESEVE.DESCR_ANDAMENTO
FROM OBSERVACOESEVE, CLIENTENOVO WHERE
OBSERVACOESEVE.NR_CHAVE = CLIENTENOVO.NR_CHAVE AND
OBSERVACOESEVE.DESCR_ANDAMENTO IN ("EM NEGOCIAÇÃO" ,
"ACORDO" ,
"QUEBRA" ,
"RECADO" ,
"NÃO ATENDE") AND
OBSERVACOESEVE.NR_CHAVE >= 20000000 AND OBSERVACOESEVE.NR_CHAVE <= 29999999 AND
OBSERVACOESEVE.DATA_OBS >= "2023/02/27"
GROUP BY OBSERVACOESEVE.NR_CHAVE,NM_CLIENTE ,OBSERVACOESEVE.DESCR_ANDAMENTO
ORDER BY OBSERVACOESEVE.NR_CHAVE
KERPLUNK 01/03/2023 15:54:19
#501071
Resposta escolhida
Como assim "Vai para o próximo cliente"?
FERRUBIM 01/03/2023 15:59:22
#501072
por exemplo :
tenho o cliente joao da silva em negociacao
joao da silva acordo

maria jose nao atende

jair lima acordo
jair lima nao atende


o resultado final deveria ser
joao da silva em negociacao
maria jose nao atende
jair lima acordo

em negociacao é maior que os outros se tiver já vai para o próximo
se nao tem em negociacao busca por acordo,e assim vai indo

KERPLUNK 01/03/2023 18:16:05
#501073
Ah, entendi. Bom, o que eu faria:
Uma coluna virtual com um fator numérico de indicação de prioridade. "Em negociação" seria 0, "Não atende" seria 1, "Acordo" seria 2 e assim por diante, enfim, dar um valor ordenável para cada status, que aliás, deveria ser um valor desde o início, vinculado à uma tabela, o que já evitaria esse tipo de problema. Em banco de dados, se trabalha o mínimo possível com valores string(Varchar).


Como sei que é meio difícil entender só a explicação, fiz um fiddle pra voce

FERRUBIM 01/03/2023 18:30:54
#501074
Muito obrigado..era isso mesmo
Tópico encerrado , respostas não são mais permitidas