[firebase-br] RES: como otimizar essa sql

Jonas Rodrigo Pacheco jonas.pacheco em tecnicon.com.br
Qui Jan 31 17:56:38 -03 2013


Boa tarde...

Cara você  passa 3x na mesma tabela... tenta algo parecido com isso...

select ESTOQUE.CODIGO, ESTOQUE.PRODUTO, ESTOQUE.CUSTO, ESTOQUE.CUSTOCOMIMPOSTOS,
       (ESTOQUE.ESTOQUELOJA + ESTOQUE.ESTOQUEDEPOSITO) as DISPONIVEL,
       VENDA.TTCUSTO,
       VENDA.TTVENDA,
       VENDA.TTVENDIDO
from ESTOQUE
left join (select VENDACORPO.CODPRODUTO,sum(UNIDADES) as TTVENDIDO,sum(UNIDADES * VENDAUNITARIO) AS TTVENDA,sum(UNIDADES * CUSTO) AS  TTCUSTO
       from VENDACORPO
       where DATA >= :XDATA and DATA <= :XDATA
       GROUP BY VENDACORPO.CODPRODUTO
       ) AS VENDA ON (VENDA.CODPRODUTO = ESTOQUE.CODIGO)
where ESTOQUE.PRODUTO like :XPROD  AND VENDA.TTVENDIDO>0
order by ESTOQUE.PRODUTO  

Qualquer dúvida estarei a disposição!

Jonas Rodrigo Pacheco

-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Augusto junior
Enviada em: quinta-feira, 31 de janeiro de 2013 17:03
Para: FireBase
Assunto: [firebase-br] como otimizar essa sql

Tem como deixar essa sql melhor?

select
   ESTOQUE.codigo,
   ESTOQUE.produto,
   ESTOQUE.CUSTO,
   ESTOQUE.custocomimpostos,
   (ESTOQUE.ESTOQUELOJA+ESTOQUE.ESTOQUEDEPOSITO) as DISPONIVEL,
   ( select SUM( UNIDADES * CUSTO ) FROM vendacorpo WHERE VENDACORPO.CODPRODUTO=ESTOQUE.codigo AND DATA>= :XDATA


                                AND  DATA<= :XDATA ) AS TTCUSTO ,
   ( select SUM( UNIDADES * VENDAUNITARIO ) FROM vendacorpo WHEREVENDACORPO.CODPRODUTO=ESTOQUE.codigo AND DATA>=  :XDATA


                                AND DATA<=  :XDATA ) AS TTVENDA,
   ( select SUM( UNIDADES ) FROM vendacorpo WHERE VENDACORPO.CODPRODUTO=ESTOQUE.codigo AND DATA>= :XDATA


                               AND DATA<= :XDATA ) AS TTVENDIDO
   from
      estoque

      where
      ESTOQUE.produto like :XPROD
      AND
    ( select SUM( UNIDADES ) FROM vendacorpo WHERE VENDACORPO.CODPRODUTO=ESTOQUE.codigo AND DATA>= :XDATA


                   AND  DATA<=:XDATA ) >0

   ORDER BY ESTOQUE.PRODUTO

Grato
Augusto

______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa






Mais detalhes sobre a lista de discussão lista