Em 4 de maio de 2016 22:19, Jean Alysson <jeanp...@gmail.com> escreveu:
>
> Ola, preciso fazer o select abaixo, tem que retornar somente um registro,
> mas como o campoString é diferente, retornam varios registros, como posso 
> resolver ?
>
> SELECT  max(campoInteger), campoString
>  FROM tabela
>  where outroCampoInteger = 31
> group by campoInteger, campoString
>
> já tentei colocar max(campoString), mas não deu certo , retorna um registro, 
> mas misturou o campoInteger de um registro com o campoString de outro registro

Deduzi que você quer os dois campos para o valor máximo de
campoInteger, certo? Veja se isso te ajuda:

SELECT
    t1.campoInteger, t1.campoString
FROM
    tabela t1
WHERE
    t1.outroCampoInteger = 31 AND
    t1.campoInteger = (
        SELECT
            MAX(t2.campoInteger)
        FROM
            tabela t2
        WHERE
            t2.outroCampoInteger = t1.outroCampoInteger
    )

TIAGO J. ADAMI
http://www.adamiworks.com
@tiadami
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a