Ir para conteúdo
Fórum Script Brasil
  • 0

Select Maior Valor Com Condição


villas

Pergunta

tenho uma tabela assim:

id | nome | idade | desconto | acerto|

-------------------------------------------------

1 | edu | 42 | vazio | vazio

-------------------------------------------------

2 | jo | 43 | 10.00 | acerto

-------------------------------------------------

3 | alice | 3 | vazio | vazio

-------------------------------------------------

4 | jose | 44 | 5.00 | vazio

Preciso de um SELECT Onde retorne o maior valor de "desconto" caso o campo acerto = "nada"(vazio) que o resultado final seria 5.00

SELECT desconto FROM cli order by desconto desc LIMIT 0, 1

este que estou agora só retorna o valor maior mas como faço para que verifique a condição do campo acerto estar vazio ou outra flag que possa usar no campo acerto pra posterior verificação???

Se alguém puder dar um HELP eu agradeço

Villas

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

eu não tenho certeza se no MYSQL funcionará mas tente:

SELECT desconto FROM cli where acerto is not null order by desconto desc LIMIT 0, 1
Neste caso eu acho que retornaria a condição do campo acerto "NÂO SER VAZIO" certo? ... e o que eu quero é justamente onde estivel NULL ... ----------------------------------------------------- id-|-nome-|--idade|desconto|acerto 1-|-- edu--|--42--|-- NULL---|--NULL 2-|-- jo----|--43--|--10.00---|-- NULL 3-|--alice--|---3--|--11.00---|-acerto 4-|--jose--|--44--|----5.00---|--NULL ----------------------------------------------------- Neste caso acima o resultado que eu quero seria 10.00 que é o maior onde o valor da coluna descoto e tem acerto=NULL. já testei usando assim:
SELECT desconto,acerto FROM cli WHERE acerto IS NULL order by desconto desc LIMIT 0, 1

O reaultado desta select retorna NULL (nada).

Link para o comentário
Compartilhar em outros sites

  • 0

Quando voce coloca is null não retorna nenhum resultado??

Bom resolvi esta etapa e não sei porque não estava dando certo assim pois já havia tentado:

SELECT desconto,acerto FROM cli WHERE acerto='' order by desconto desc LIMIT 0, 1

Agora a segunda etapa seria que os campos "desconto" e "acerto" estão em outra tabela.

Já tentei aplicar a mesma solução mas não vai. Vou simular duas tabelas e depois posto aqui.

No caso de IS NULL como comparador não funcionou mesmo.

ele esta como Null ou como vaziu o NULL só funcionaria se ele realmente for num caso contrario nada feito

é tenta algo como acerto > 0

Mesmo já resolvido ai cabe uma dúvida que me intriga. Lá na tabela o campo esta LIMPO ...sem nada nem zero nem espaço mas o campo existe ... pra teste eu vou no DBtools e DELETO o que tem no campo.

Como seria isso? NULL e vazio não é a mesma coisa?

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...