[firebase-br] Ajuda com SQL e datas
André Conrado
acf em andreconrado.net
Qui Set 6 10:38:33 -03 2012
Sandro, se eu entendi o que ele precisa, então vc quase acertou, só
trocou as datas. Não vou repetir o código somente a lógica:
Acredito que primeiro deveria selecionar todos os últimos lançamentos
de cada produto e depois verificar quais estão vencidos.
Se for isso Maycon, basta usar o código do Sandro trocando a data de
vencimento pela data de lançamento.
Abs.
Em 5 de setembro de 2012 22:33, MAURICIO COSTA
<maximmumsistemas em gmail.com> escreveu:
> 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
>>
> ______________________________________________
> 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