[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