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