[firebase-br] [Spam] como otimizar essa sql
Kléber Caneva
kdcc em terra.com.br
Sex Fev 1 11:52:20 -03 2013
Usando o Group by deve ficar mais rapido do que fazer varios subselects.
Tente assim:
Select
ESTOQUE.codigo,
ESTOQUE.produto,
ESTOQUE.CUSTO,
ESTOQUE.custocomimpostos,
(ESTOQUE.ESTOQUELOJA+ESTOQUE.ESTOQUEDEPOSITO) as DISPONIVEL,
SUM( vendacorpo.UNIDADES * ESTOQUE.CUSTO ) AS TTCUSTO ,
SUM( vendacorpo.UNIDADES * vendacorpo.VENDAUNITARIO ) as TTVENDA,
SUM( UNIDADES ) AS TTVENDIDO
>From ESTOQUE
Join VENDACORPO on (VENDACORPO.CODPRODUTO=ESTOQUE.codigo AND DATA>= :XDATA
AND DATA<= :XDATA )
Where ESTOQUE.produto like :XPROD
Group by 1,2,3,4,5
Order by ESTOQUE.PRODUTO
[]´s
Kléber Caneva
----- Original Message -----
From: "Augusto junior" <gutopj02 em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, January 31, 2013 5:03 PM
Subject: [Spam] [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