[firebase-br] duvida sql braba

Anderson - EasyBit anderson em easybit.com.br
Ter Jul 17 13:47:54 -03 2007


Fernanda,

Como o controle e feito por unidade (cada selo 
tem um nro) e não somente por quantidade, 
acredito que a sugestão que apresentei no outro 
e-mail seja viável, pois apesar  de gerar mais 
registros, permite um controle mais fácil através de operações simples.

De qualquer forma,  utilizando a estrutura que 
você apresentou,  pensei em 3 procedimentos para:

1) entrada de novo lote de selos:

- incluir um registro na tabela.

2) saída de um ou mais selos de um lote:

- selecionar os registros da letra (lote) 
correspondente, ordenando  por Data / Operacao / Selo Inicial / Selo Final
- verificar se já existe saída daquele(s) 
selo(s), percorrendo item a item do lote e 
verificando nas saídas já existentes, se a faixa 
não inclui os selos que queremos retirar. Se 
incluir, eh sinal que o usuário digitou o nro de um selo que já saiu;
- caso não exista registrar a saída;

3) Consulta aos selos existentes em um lote;
- selecionar os registros da letra (lote) 
correspondente, ordenando  por Data / Operacao / Selo Inicial / Selo Final
- Criar tabela temporária, incluindo um registro 
para cada selo (correspondentes a entrada dos selos);
- Percorrer registros de saída da tabela original 
de selos, retirando-os da tabela temporária;
- Restarão na tabela temporária somente os registros que não tiveram saída.

Como você vê acima, o controle fica mais 
complicado com essa estrutura, exigindo inclusive 
maior esforço computacional e tbm de programação. 
Isso acontece pela característica do selo ser 
numerado e único. Já fiz sistemas com controle de 
lote e usei a estrutura que te mostrei no outro 
e-mail, que funcionaram bem e tinham manutenção fácil e rápida.

Peço também ajuda dos demais colegas da lista, 
caso tenham outras idéias sobre o tema.

Abraço,

Anderson - EasyBit


>moro na Belkiss, aonde vc morou por aqui?
Eu morei na Plácido Figueiredo Jr, próximo 'a 
Otávio Mangabeira (e estudei no Farrula), mas 
desde criancinha passava minhas férias aí. Tenho 
ótimas lembranças desse lugar :)


At 12:19 17/7/2007, cartorio wrote:
>Sim Anderson é mais ou menos isso. tenho uma tabela que contem
>(Data,Codigo,letra,seloinicial,selofinal)
>o codigo pode ser 10 (entrada) ou 32 (saida).
>seguindo o exemplo que mostrei teremos uma tabela +- assim:
>10/06 ---- 10----AAA-20000---20100
>10/06----- 10----BBB-40000---40200
>10/06-----32 ----AAA-20000---20000
>10/06-----32 ----AAA-20001---20001
>10/06-----32 ----AAA-20002---20002
>10/06-----32 ----AAA-20003---20003
>10/06-----32-----BBB-40000---40010
>LEMBRANDO QUE 10 é entrada e 32 é saída logo no fim do dia quando atualizar
>deveremos ter no dia seguinte
>11/06----10----aaa----20004----20100
>11/06----10----bbb----40011----40200
>lembrando também que podem ocorrer de pular algum selo ai eu teria de fazer
>duas subdivisoes tipo
>11/06----10----aaa-----20001-----20002
>
>11/06----10----aaa---20004----20100, supondo nesse caso que não houveram
>saídas do selos 20001 e 20002.


Fernanda Ramos Juliano
>From: "Anderson - EasyBit" <anderson em easybit.com.br>
>To: "FireBase" <lista em firebase.com.br>; "FireBase" <lista em firebase.com.br>
>Sent: Tuesday, July 17, 2007 10:57 AM
>Subject: Re: [firebase-br] duvida sql braba
>
>
>Bom dia,
>
>Pelo que entendi, você tem os SELOS (seloi e
>selof), atrelados ao campo LETRA e deseja saber
>quantos você tem em estoque a cada período, seria isso?
>
>Mas diga, qual eh a "dúvida braba"?
>
>Anderson - EasyBit
>
>
>At 13:59 16/7/2007, cartorio wrote:
> >Boa tarde, estou com dúvida em uma SQL , se alguem puder me ajudar.
> >1) tenho um banco estoque composto de
> >-seloi,letra,selof,codigo,DATA
> >exs 20000 - AAA-20020-10-01/06/2007
> >       30000-BBB-30100-10-01/06/2007
> >       20000-AAA-20000-32-01/06/2007
> >       20001-AAA-20001-32-01/06/2007
> >      20002-AAA-20005-32-01/06/2007
> >      30000-BBB-30040-32-01/06/2007
> >O CODIGO 10 REFERE-SE A ENTRADA E O 32 É SAÍDA.LOGO SE FOR ATUALIZAR O
> >ESTOQUE PARA O DIA POSTERIOR DEVERÁ FICAR
> >       20006-AAA-20020-10--02/06/2007
> >       30041-BBB-30100-10--02/06/2007
> >uso firebird 1.5 e delphi 5 com clientdataset ,
> >ibquerys,transactions,etc...,
> >lembrando que pode ocorrer de pular algum codigo tipo
> >   20000 - AAA-20020-10-01/06/2007
> >       20000-AAA-20000-32-01/06/2007
> >       20003-AAA-20003-32-01/06/2007 (neste caso os codigos 20001 e 20002
> > não
> >foram usados)
> >no dia seguinte deveria aparecer assim
> >20001 - AAA-20002-10-02/06/2007
> >20004 - AAA-20020-10-02/06/2007
> >
> >
> >
> >______________________________________________
> >FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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.locador.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.locador.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