Em 5 de agosto de 2016 16:51, Edson F. Lidorio <ed...@openmailbox.org> escreveu: > Opa! > Quase isso, Preciso considerar: > > - todos os produtos
Não ficou claro, mas acredito que você deseje incluir todos os produtos da tabela produto mesmo que não haja registros na tabela historico_vendas, correto? Isto pode ser resolvido com um LEFT/RIGHT OUTER JOIN. Veja o exemplo do SQL abaixo. > - e também fazer a média por 1 ano dos produtos que tem menos de 1 ano Você especificou no post original que deseja uma média de 1 ano. O SQL abaixo irá trazer *todos* os produtos, de 1 ano atrás até a data atual. A média será pelo período inteiro (1 ano = 12 meses = 365 ou 366 dias se for ano bissexto). Com este código SQL abaixo você terá a média do último ano de todos os produtos, independente de quando foram cadastrados. SELECT pr.id_produto, pr.nome_produto, AVG(COALESCE(hv.qtde_produto,0)) as qtde_produto_media FROM produtos pr LEFT OUTER JOIN historico_vendas hv ON pr.id_produto = hv.id_produto WHERE hv.data_venda >= CURRENT_DATE - INTERVAL '1 YEAR' GROUP BY pr.id_produto, pr.nome_produto TIAGO J. ADAMI http://www.adamiworks.com _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral