[MySQL]: Seleção condicional (?)

4 respostas
Rafael_Afonso

Olá:

No meu MySQL tenho uma tabela chamada prazo. Quando faço essa query:

SELECT * FROM `prazo` ORDER BY codStatusCorrente

Recebo os seguintes resultados (A 1a. linha exibe os nomes das colunas):

codigo,codStatusCorrente,prazo,docDepositante
3,2,24,0
4,3,24,0
6,3,48,02455073000101
1,4,3,0
2,5,24,0
5,6,24,0

Reparem que para codStatusCorrente = 2, aparecem duas linhas, uma sem docDepositante e outra com docDepositante.
Minha dúvida é a seguinte: Como fazer uma query em que, ao encontrar duas linhas com o mesmo codStatusCorrente, exiba apenas a que tenha docDepositante? Assim seria exibida a seguinte tabela:

codigo,codStatusCorrente,prazo,docDepositante
3,2,24,0
6,3,48,02455073000101
1,4,3,0
2,5,24,0
5,6,24,0

Grato,

4 Respostas

maxguzenski

nao sei se entedi… mas acho que voce quer algo assim:

SELECT codigo,codStatusCorrente,prazo, docDepositante
FROM prazo
where
docDepositante = (select max(p.docDepositante) from prazo p where p.codStatusCorrente = codStatusCorrente)
GROUP BY codigo,codStatusCorrente,prazo
ORDER BY codStatusCorrente

maxguzenski

hmm, mas acho q mysql nao aceita subselect…
tenho q pensar mais

Rafael_Afonso

“maxguzenski”:
hmm, mas acho q mysql nao aceita subselect…
tenho q pensar mais

O MySQL aceita subqueries a partir da versão 4.1. Mas estou usando a versão 4.0.12. :frowning:

Grato,

Rafael_Steil

Quebra em 2 queries.

Rafael

Criado 31 de março de 2004
Ultima resposta 31 de mar. de 2004
Respostas 4
Participantes 3