Em Qui, 2013-09-12 às 08:06 -0300, Thiago escreveu: > Bom dia a todos. > > Tenho uma tabela de vendas onde contém cada item do cupom. Nesta tabela > tenho as seguinte informações: > > Filial > Produto > Data > Quantidade > > Para ganhar agilidade nos relatórios, criei uma tabela agrupada por mês, > contendo os seguintes campos: > > Filial > Ano > Mes > Produto > Quantidade > > Preciso fazer uma consulta na tabela agrupada trazendo as vendas de três > meses fechados, mas para isso eu tenho as informações de data inicial e > data final. > > Qual seria a melhor forma de fazer uma "between" em uma tabela com essa > estrutura, ou qual seria a melhor estrutura para montar tabelas deste tipo?
Não ficou muito claro exatamente o que você quer, mas desconfio que você
pode usar duas alternativas, sendo uma a função date_trunc [1] onde
retornaria as datas como sendo o primeiro dia do mês daquela data (por
exemplo, date_trunc('month', current_date) é igual a '2013-09-01') com
isto você poderia juntar com a outra tabela montando o ano e o mês.
Outra alternativa é extrair o ano e o mês da data completa com a função
extract[2] (por exemplo, extract(month from current_date) é igual a 9 e
extract(year from current_data) é igual a 2013) e então juntar com a
outra tabela.
[1]
http://www.postgresql.org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-TRUNC
[2]
http://www.postgresql.org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT
[]s
--
Dickson S. Guedes
mail/xmpp: [email protected] - skype: guediz
http://guedesoft.net - http://www.postgresql.org.br
http://www.rnp.br/keyserver/pks/lookup?search=0x8F3E3C06D428D10A
signature.asc
Description: This is a digitally signed message part
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
