[firebase-br] Consulta Estoque
Haroldo Dias
haroldo em delfa.com.br
Qui Mar 18 09:35:02 -03 2010
Valeu Eduardo, ficou muito bom esse seu exemplo, muito obrigado.
"Eduardo Bahiense"
<eduardo em icontroller.com.br> escreveu na
mensagem news:hnt3gp$eb1$1 em dough.gmane.org...
A query abaixo, que funciona a partir do FB 1.5, vai resolver, mas você
terá que analisar bem o plano de índices dessa tabela para que ela seja
eficiente. Pelo menos um índice em PRODUTO, DATA será necessário.
Outra coisa, se houver dois registros de saldo de um produto no mesmo
dia, vai duplicar linhas.
SELECT
A.PRODUTO, A.DATA, B.SALDO, B.CUSTO
FROM
(
SELECT
PRODUTO, MAX(DATA)
FROM
ESTOQUE
WHERE
DATA <= '03.01.2010'
GROUP BY 1
) A
LEFT JOIN ESTOQUE B ON A.PRODUTO=B.PRODUTO AND A.DATA=B.DATA
Haroldo Dias escreveu:
> Bom dia a todos
> Eu tenho a seguinte tabela:
> PRODUTO DATA SALDO CUSTO MEDIO
> 1 01/01/2010 123 1,02
> 1 02/01/2010 124 1,02
> 1 03/01/2010 122 1,02
> 1 04/01/2010 128 1,03
> 1 05/01/2010 120 1,03
> 2 29/12/2009 213 2,55
> 2 01/01/2010 216 2,55
> 2 02/01/2010 218 2,55
> 2 05/01/2010 219 2,55
> 2 06/01/2010 220 2,49
> 2 07/01/2010 210 2,49
> 3 30/12/2009 306 3,11
> 3 31/12/2009 305 3,11
> 3 01/01/2010 300 3,11
> 3 08/01/2010 301 3,11
> 3 09/01/2010 300 3,31
> 3 10/01/2010 330 3,31
> 3 11/01/2010 329 3,31
>
> E preciso fazer uma consulta que me retorne o saldo dos produtos no dia
> 03/01/2010:
> PRODUTO DATA SALDO CUSTO MEDIO
> 1 03/01/2009 122 1,02
> 2 02/01/2010 218 2,55
> 3 01/01/2010 300 3,11
>
> Como faço? Uso o Firebird 2.1
>
> Atenciosamente,
> Haroldo Dias
>
>
>
>
>
>
> ------------------------------------------------------------------------
>
> ______________________________________________
> 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
______________________________________________
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