Em 22 de outubro de 2015 17:53, Carlos Antônio Pereira (VidaUTI) <
[email protected]> escreveu:
>
> Numa tabela com associados tenho:
> select
> cod_associado, seq_fam,  nome
> order by cod_associado, seq_fam,  nome
>
> 1                   0 JOSE VALDIR RI
> 1                   1 REGINA ELISABE
> 1                   2 DANIEL DE ARAU
> 1                   3 TATIANA DE ARAU
> 1000             0 ANTONIO ALFREDO
> 10001           0 LYGIA NUNES GAI
> 10002           0 ANGELA CORREIA
> 10003           0 AMANDA CAVALCAN
> 10004           0 ANA CLAUDIA BAR
> 10005           0 ANDRE LUIZ LOUR
> 10005           1 NADIA TORALLES
> 10005           2 ALICE GOMES TOR
> 10006           0 ANDRE SOARES AM
> 10007           0 BARBARA FERREIR
> 10007           1 NALI MERCEDES F
> 10007           2 HELENO VAZ DE M
>
> Observação: seq_fam = 0 é sempre titular
>
>
> O cliente quer todos os titulares em ordem alfabetica e seus dependentes
logo abaixo

Acho que assim resolve....

SELECT
dep.*
FROM tmp_associado ass
JOIN tmp_associado dep
  ON dep.cod_associado = ass.cod_associado
AND ass.seq_fam = 0
ORDER BY ass.nome, (dep.seq_fam = 0) DESC, dep.nome;

... ainda com um plus de ordenar os dependentes na ordem alfabética tmb!

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

Responder a