COMANDO SQL
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
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
Como assim "Vai para o próximo cliente"?
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
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
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
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
Muito obrigado..era isso mesmo
Tópico encerrado , respostas não são mais permitidas