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

Attachment: 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

Responder a