[firebase-br] duvida sql

Anderson - EasyBit anderson em easybit.com.br
Ter Jul 17 11:19:02 -03 2007


Oi Fernanda, bom dia!

Não sei se entendi direito sua dúvida (fui eu 
quem respondeu a msg que vc mandou como "dúvida 
sql braba"). Me parece que sua intenção é 
registrar a entrada de selos e controlar a saída 
dos mesmos, sabendo a cada momento quantos selos tem disponíveis, é isso?

Se for isso, eu faria assim:

Criaria uma tabela de selos, onde cada selo teria 
um único registro, e cuja chave primária (PK) 
seria a Letra e o Código do Selo. Daí, controlaria individualmente cada um.
Se isso der mais trabalho ao usuário do seu 
sistema, você pode incluir uma telas pra 
facilitar a vida dele. Tipo na tela de entrada 
você pede a ele pra digitar a letra e o código 
inicial e final dos selos e por programa (ou 
procedure no BD) você inclui registro a 
registro.  Para a saída pode usar uma tela semelhante.

TABELA DE SELOS:

Selo_Letra - Char(3)
Selo_Codigo  - Integer
Selo_DataEntrada -TimeStamp
Selo_DataSaida - TimeStamp
Selo_Estado Char(1)  pode assumir os valores 
D=Disponível, U=utilizado, E=extraviado, etc...

O Campo Selo_Estado deve ter um índice associado 
para tornar as pesquisas rápidas.

Daí você pode fazer uns SQLs do tipo abaixo:

-Quantidade de selos em estoque:

SELECT Count(*) FROM  SELOS
WHERE Selo_Estado = 'D'

-Quantidade de selos utilizados em um mes:

SELECT COUNT(*) FROM  SELOS
WHERE Selo_Estado = 'U'
AND Selo_DataSaida >= '06/01/2007'
AND Selo_DataSaida <= '06/30/2007'

Se não for essa a dúvida, por favor poste novamente e tentamos clarear.

Abração de um paulista saudoso de S.J.M (morei aí 
em Coelho da Rocha muitos anos atrás).

Anderson - EasyBit

At 10:43 17/7/2007, cartorio wrote:
>Gente desculpe se é retransmissão mas desde ontem não estou conseguindo
>receber msgs da lista e não sei se essa chegou aí.
>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
>  Grata,
>
>      Fernanda Ramos Juliano
>
>
>
>______________________________________________
>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