..:: Rodrigo (-_-) Machado ::.. wrote: > Bom dia pessoal, nao sei se posso postar este tipo de topico na lista, > mas ca estou eu. > Sou bem iniciando no mundo SQL, e preciso otimizar esta consulta. > > select c_cpd, sum(n_cant) from ( > select c_cpd, sum(n_cant) as n_cant from movie > where c_sucursal>='001' and c_sucursal<='001' > group by c_cpd > union all > select c_cpd, sum(n_cant)*-1 as n_cant from movis > where c_sucursal>='001' and c_sucursal<='001' > group by c_cpd > ) as movi > group by c_cpd > order by c_cpd Não sei se entendi direito, mas ai vai uma dica:
select movie.c_cpd, sum(movie.n_cant + (movis.n_cant)*-1) as n_cant from movie JOIN movis ON (movis.c_cpd = movie.c_cpd) where movie.c_sucursal>='001' and movie.c_sucursal<='001' group by movie.c_cpd Apenas é necessário validar se o join que montei é valido para seu escopo, olhando a estrutura do seu select acredito que seja. Isso fica bem mais rapido e bem mais simples. Evandro _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral