[firebase-br] Ajuda com SQL e datas
MAURICIO COSTA
maximmumsistemas em gmail.com
Qua Set 5 22:33:53 -03 2012
Possa ser que não estou entendendo a lógica de negócio para poder te
ajudar. Até já postei algo sobre o que você esta comentado novamente. Mas,
me explica uma coisa.
Se a data atual é 04/09/2012 como estou lançando no sistema um produto em em
30/0/2012.
O que estou a pensar. Mesmo que a data de lançamento possa ser retroativa a
data atual, teríamos que ter um campo com a data atual pois, seria com este
campo que poderíamos fazer isto. Não sei se estou seguindo a mesma linha
de raciocínio que vc.
Qual quer coisa dá uma dica.
> COD COD_TABELA _A DATA_LANCAMENTO DATA_VENCIMENTO
> 1 1 31/01/2012 31/03/2012
> 2 1 31/03/2012 30/06/2012
> 3 1 30/06/2012 30/09/2012
> 4 4 25/06/2012 25/09/2012
> 5 2 31/12/2011 28/02/2012
> 6 2 28/02/2012 30/05/2012
> 7 2 30/05/2012 30/08/2012
Em 5 de setembro de 2012 12:01, Sandro Souza
<escovadordebits em gmail.com>escreveu:
> Bom dia/tarde Maycon.
>
> Não entendi muito bem a sua lógica, mas vou dar a minha humilde
> contribuição.
>
> Se devemos considerar apenas os lançamentos mais atuais (com data de
> vencimento maior) de cada item, então talvez os seguintes SQLs sirvam:
>
> 1 - Selecionando a maior data de vencimento de cada item da tabela A:
> *
> SELECT
> COD_TABELA_A ITEM,
> MAX(DATA_VENCIMENTO) VENCIMENTO
> FROM
> B
> GROUP BY
> COD_TABELA_A*
>
> 2 - Aproventando a consulta anterior para listar os itens vencidos:
>
> *SELECT
> X.ITEM,
> A.DESCRICAO,
> X.VENCIMENTO
> FROM (
> SELECT
> COD_TABELA_A ITEM,
> MAX(DATA_VENCIMENTO) VENCIMENTO
> FROM
> B
> GROUP BY
> COD_TABELA_A) X,
> A A
> WHERE
> (X.VENCIMENTO < CURRENT_TIMESTAMP)AND
> (A.COD = X.ITEM)
> ORDER BY
> A.DESCRICAO*
>
> Espero ter ajudado mais que atrapalhado. :D
>
> Em 4 de setembro de 2012 18:09, Maycon-Alphametro
> <maycon em alphametro.com.br>escreveu:
>
> > Senhores boa tarde,
> >
> > Tenho duas tabelas,
> >
> > Tabela A
> > COD DESCRICAO IDENTIFICACAO
> > 1 laranja a
> > 2 abacate b
> > 3 abobrinha c
> > 4 peixe d
> > 5 tomate e
> >
> > Tabela B
> > COD COD_TABELA _A DATA_LANCAMENTO DATA_VENCIMENTO
> > 1 1 31/01/2012 31/03/2012
> > 2 1 31/03/2012 30/06/2012
> > 3 1 30/06/2012 30/09/2012
> > 4 4 25/06/2012 25/09/2012
> > 5 2 31/12/2011 28/02/2012
> > 6 2 28/02/2012 30/05/2012
> > 7 2 30/05/2012 30/08/2012
> >
> > Eu preciso saber tudo o que está vencido, minha consulta deveria trazer
> > somente os itens que tivessem data de vencimento anterior a data atual,
> > porém desconsiderar os lançamentos anteriores para o item
> > exemplo,
> >
> > o item 1 da tabela A tem 3 lançamentos, porém o último ainda não venceu,
> > então não tem itens vencidos
> >
> > o item 2 da tabela A tem 3 lançamentos porém tem um que já está vencido
> > desde 30/08/2012, considerando a data de hoje 04/09/2012
> >
> > A quem puder me ajudar muito obrigado.
> >
> > Att
> >
> > Maycon
> >
> >
> > ______________________________________________
> > 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