E seu eu fizesse uso de subqueryes do tipo:
-----------------------------------------------------------------------------------------------------------------------------
select nome, aniversario from clientes
where extract(DAY from aniversario) >= extract(DAY from now())
in
(select nome, aniversario from clientes
where extract(MONTH from aniversario) >= extract(MONTH from now()))
order by extract(MONTH from aniversario), extract(DAY from aniversario)
-----------------------------------------------------------------------------------------------------------------------------
mas com um pequeno detalhe, essa consulta me retorno o seguinte erro:
-----------------------------------------------------------------------------------------------------------------------------
ERRO:  subconsulta tem muitas colunas
LINE 3: in
        ^
********** Error **********
ERRO: subconsulta tem muitas colunas
SQL state: 42601
Character: 103
-----------------------------------------------------------------------------------------------------------------------------
Sendo que a quantidade de colunas nas duas consultas é a mesma, 2 (nome e
aniversario). Onde estou errando?

Era para fazer a consulta por mês e depois a partir do resultado dessa
consulta fazer outra por dia, e por fim ordenar por mês e dia.

Caso não seja possível, vou começar a pensar na possibilidade de utilizar a
função to_char (aniversario, 'MMDD'), que já andei lendo que pode ser
descontinuada nas próximas versões do PostgreSQL. Valeu Galera e Um Grande
Abraço a Todos!

Em 18 de agosto de 2012 17:24, Dickson S. Guedes <lis...@guedesoft.net>escreveu:

> Em 18 de agosto de 2012 13:48, Ramiro Pamponet <roli...@oi.com.br>
> escreveu:
> > Fabrizio,
> >
> > Sua solução atende 99% as minhas necessidades. Fiz umas alterações.
> >
> > select nome, aniversario from clientes
> > where extract(MONTH from aniversario) >= extract(MONTH from now())
> > order by extract(MONTH from aniversario), extract(DAY from aniversario)
> >
> > Mas pra ficar 100% será que não teria como filtrar também pelo dia do
> mês,
> > para que não mostre os clientes que já fizeram aniversário naquele mês?
> > Mostar somente os clientes que ainda irão fazer aniversário, seja dentro
> do
> > próprio mês ou nos meses seguintes.
>
>
> Talvez date_trunc [1] e interval ajude você a encontrar um caminho
> mais apropriado.
>
>
> [1]
> http://www.postgresql.org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-TRUNC
>
> []s
> --
> Dickson S. Guedes
> mail/xmpp: gue...@guedesoft.net - skype: guediz
> http://guedesoft.net - http://www.postgresql.org.br
>  _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a