Em 28 de abril de 2011 13:37, Jefferson Dias <[email protected]> escreveu:
> Boa tarde Leandro,

....

>
> SELECT
>     p.pessoa_id,
>     p.nome,
>     fone
> FROM pessoas p
> LEFT JOIN ( select pessoa_id, max(fone), from fones_pessoas group by
> pessoa_id) f
> ON(p.pessoa_id=f.pessoa_id);

........

>

Não sei se entendi bem sua dúvida, mas acho que algo mais simples
resolveria seu problema:

select pes.*, (select numero from telefone where id_pessoa = pes.id
limit 1) telefone
from pessoa pes;

Neste caso, dependendo do tamanho de sua tabela essa consulta pode ser
um pouco lenta, mas se você filtrar a pessoa por algum campo com
índice você terá uma desempenho melhor.

-- 
Marcone Peres - DBA
http://www.linkedin.com/in/marconeperes
(61) 8146-0028
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a