Em 02/07/12, Wesley<[email protected]> escreveu:
> Osvaldo é o seguinte:
>
> Tenho uma tabela usuario:
>
> id serial,
> username varchar,
>
>
> Tenho outra tabela estados:
>
> id serial,
> tipo_do_estado_id integer,
> usuario_id integer,
> data_da_vinculacao date,
>
>
> Bom, eu preciso pegar o último estado do cara, que está gravado em estados.
> Seria mais ou menos assim o relatório, tem outros dados por isso tem que
> ser feito por join pois com subquery o tempo está sendo muito grande:
>
> ex.:
>
> username,ultimo_estado ....
>

Uma solução particular para o PostgreSQL:

SELECT DISTINCT ON (usuario.id) usuario.username,
estados.tipo_do_estado, estados.data_da_vinculação,... outros campos
FROM usuarios INNER JOIN estados ON (usuario.id = estados.usuario_id)
ORDER BY usuario.id, estados.data_da_vinculacao DESC;

Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a