Mas e se as pessoas estiverem ocupando 2 cargos na empresa? Não é comum,
mas ocorre.

O ideal seria ter:
pessoa (codigo, nome, [...])
cargo (codigo, nome, [...])
contrato (codigo, cod_pessoa, cod_cargo, dt_inicio, dt_fim, salario, [...])
WHERE dt_fim IS NULL

2011/12/1 Marcelo Silva (IG) <[email protected]>

> Bem... tem que ver a logica aí...
> Se alguém apareceu duas ou mais vezes é porque tem algum campo que dá essa
> condição
> Pode reparar que ha alguma diferença nso registros duplicados, algum
> campo... e então terá que repensar a logica do select
>
>
>
> -----Mensagem Original-----
> From: Thiago
> Sent: Thursday, December 01, 2011 4:52 PM
> To: [email protected]
> Subject: Re: [pgbr-geral] Limitar linhas do left join
>
> > Assim não funciona?
> >
> > select ps.id_pes, ps.nome, cg.dsc, max(pg.id_car) as id_car
> > from software.tbpessoa ps
> > left join software.pessoa_cargo pc on(pc.id_pes = ps.id_pes)
> > left join software.tb_cargo cg on(cg.id_car = pc.id_car)
> > group by ps.id_pes, ps.nome, cg.dsc
> > order by ps.nome
> >
> >
> > Nao testei, mas iria por esse caminho ai
>
> Neste exemplo o jose apareceu duas vezes.
>
> Obrigado!
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Fernando Brombatti
email-msn-gtalk: [email protected]
skype: fernandobrombatti
work: +55 54 3218-6060
home: +55 54 3028-7217
mobile: +55 54 9189-7970
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a