Obrigado Osvaldo não tinha pensado nisso valeu Em 8 de novembro de 2016 09:09, Osvaldo Kussama <[email protected]> escreveu:
> Em 08/11/16, Alan Tavares<[email protected]> escreveu: > > Pessoal > > > > Estou com uma dúvida o caso é o seguinte > > Tenho uma tabela de vendas e tenho que fazer um relatório que o gerente > > quer saber a quantidade vendida em 3 períodos 7, 15 e 30 dias de todos os > > produtos na mesma tela alem de poder escolher um pediodo customizado. > > A tabela de pedidos tem em torno de 300 mil registros e mensalmente algo > em > > torno de 20 mil. > > Já consegui convencer de que não daria pra fazer em tempo real e limitar > o > > periodo para no maximo 90 dias. > > A solução q fiz foi a seguinte > > Criei uma view materializada com os dados das vendas dos ultimos 90 > dias, a > > partir dessa view criei mais 3 views materializadas para cada um dos > > periodos 7, 15, 30 > > onde faço o sum dos produtos e para exibição dou um join nessas 3 views > > materializadas e em uma outra view do produto com a quantidade em > estoque. > > Segue abaixo. > > > > select a.produto, > > a.estoque, > > b.qnt_7, > > c.qnt_15, > > d.qnt_30 > > from vendas.vw_produtos a > > inner join vendas.vm_vendas_7 b on a.id = b.id > > inner join vendas.vm_vendas_15 c on a.id = c.id > > inner join vendas.vm_vendas_30 d on a.id = d.id > > > > Existe alguma solução que de para fazer os sum de periodos diferentes na > > mesma consulta. > > > > Desde já obrigado. > > > > Alan Costa > > > > Utilize o CASE. > Para o dado período some a quantidade, caso contrário 0. > > Algo do tipo: > ... SUM( CASE WHEN (sua_data < CURRENT_DATE-INTERVAL '7 DAYS') THEN > quantidade ELSE 0 END) ... > > Osvaldo > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
