[firebase-br] Procedure Para Calculo de compra de estoque
Eduardo Jedliczka
eduardo em gerasoft.com.br
Ter Maio 24 17:23:29 -03 2005
A solução só é possível numa SP... (ou por selects no lado cliente).
Nenhum select poderá retornar (com tempo satisfatório) a informação desejada
(exceto se você tiver uma tabela com todos os dias do ano)...
[s]
==========================
Eduardo Jedliczka
Gerasoft Informática
Apucarana - Pr
==========================
----- Original Message -----
From: "Cássio Alexandre Machado - CIN - MCS" <cassio em picolli.com.br>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Tuesday, May 24, 2005 2:42 PM
Subject: RE: [firebase-br] Procedure Para Calculo de compra de estoque
> Boa tarde Euler obrigado pela atenção, mas temos um porém.
> O campo quantidade(Vendas) e saldo(Estoque) estão em tabelas diferentes.
> Então na verdade eu tenho que usar como dias a contagem 4 e não 3, pois
> eu tenho vendas nos dias 1 e 2 .
> E saldo em 1 4 e 5 .
> Excluindo-se a repetição do dia 1
> Eu tive venda e saldo nos dias 1, 2, 4, 5.
> Só não posso adicionar os dias que não possuem nem saldo nem venda.
> Será que dá?
> Eu poderia fazer duas queries separadas, mas eu obteria dois valores 3 e
> 4, mas como eu iria tratar para me retornar ?
>
>
>
> Cássio Alexandre Machado
> Analista DBA
> Grupo Picolli - CIN
> cassio em picolli.com.br
> 11-5033-3233
>
> Compre seu celular pela Internet !!
>
>
>
>
>
>
> -----Original Message-----
> From: lista-bounces em firebase.com.br
> [mailto:lista-bounces em firebase.com.br] On Behalf Of Euler Jr.
> Sent: Tuesday, May 24, 2005 1:47 PM
> To: FireBase
> Subject: Re: [firebase-br] Procedure Para Calculo de compra de estoque
>
> Ola,
> simulei +- a situacao aqui. Criei uma tabela com a seguinte estrutura:
>
> CREATE TABLE VENDAS(DIA DATE,VENDAS INTEGER,SALDO INTEGER);
>
> Inclui os registros conforme o exemplo que vc informou.
>
> E apliquei o SQL:
>
> SELECT COUNT(DIA) FROM VENDAS WHERE VENDAS >= 0 AND
> SALDO > 0 AND DIA BETWEEN '01/01/2005' AND '01/05/2005'
>
> retornando 3, já que pelo seu exemplo o dia 03/01 ñ tem venda nen saldo.
> Se
> o dia 03/01 tivesse venda o resultado seria 4.
>
> Será isso que vc precisa?
>
> []s
> Euler Jr.
> ----- Original Message -----
> From: "Cássio Alexandre Machado - CIN - MCS" <cassio em picolli.com.br>
> To: <lista em firebase.com.br>
> Sent: Tuesday, May 24, 2005 12:39 PM
> Subject: [firebase-br] Procedure Para Calculo de compra de estoque
>
>
> Pessoal boa tarde, por favor, vejam se alguém consegue me ajudar.
> Meu banco de dados possui dentre outras duas tabelas especificas.
> Uma referente a dados de vendas e outra referente a estoque.
> Criei uma procedure que calcula a quantidade de vendas de determinado
> produto e baseado no saldo atual
> De estoque informa qual a necessidade de compras.
> A conta é simples ,
>
> media_vendas = (:quantidade / :periodo);
>
> necessidade = (:media_vendas * :dias_projetados);
>
> sugestao_compra = (:necessidade -:saldo_atual);
>
> total_compra = (:sugestao_compra * :preco_compra);
>
> Até ai tudo bem, meu problema é no período, ele não pode ser
> simplesmente (datafinal - datainicial)
> Nem posso calcular somente as datas que efetivamente tiveram venda, como
> estou fazendo no exemplo abaixo.
>
> select count(distinct datavenda) from dados
> where datavenda between :data_inicio and :data_fim
> and filial = :vfilial and codigo =:codigo
> into :periodo;
>
> Preciso contar os dias que houveram venda e o saldo de estoque não
> estava zerado, ou seja só posso tirar da contagem os dias que não
> houveram vendas e/ o estoque estava zerado.
> No exemplo abaixo citado eu apenas poderia não contar, o dia 3.
> E meu período deveria ser igual a 4.
> Como eu faço hoje ele é igual a 2 o que me traz uma média irreal que me
> sugere compra além da minha demanda.
>
> Dia vendas saldo_estoque
> 1/01 2 3
> 2/01 3 0
> 3/01 0 0
> 4/01 0 4
> 5/01 0 4
>
> Espero ter sido claro e que alguém possa me ajudar, serei muito grato.
> Caso necessário posso passar mais informações.
> Boa tarde a todos.
>
>
> Cássio Alexandre Machado
> Analista DBA
> Grupo Picolli - CIN
> cassio em picolli.com.br
> 11-5033-3233
>
>
>
>
>
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
Mais detalhes sobre a lista de discussão lista