[firebase-br] RES: RES: RES: Ajuda com SQL e datas + Informação
Maycon-Alphametro
maycon em alphametro.com.br
Qui Set 20 17:48:34 -03 2012
Veja a resposta abaixo
" Bom dia Sandro, primeiramente me desculpe pela demora no retorno,
>>
>> Seguinte,fiz um teste com o seu SQL, mais ainda estou com
>> problemas, por exemplo o item 1 se eu fizer o seu SQL como a data de
>> 30/09/2012 não chegou ele trará a data de 30/06/2012, e isso não é
>> verdade pois o item não está vencido, nesse caso ele não deveria
>> trazer nada pois eu tenho uma data que é superior a data atual."
O que preciso é analisar vários registros, com datas variadas e encontrar os
que estão vencendo dentro do mês por exemplo, porém porém se eu pegar menor
que data atual ele trará todos os registros de todos os itens e na verdade
pode ter itens que não estejam vencidos ou a vencer.
Não sei se ficou clara minha dúvida, caso contrário por gentileza me
informem que tento elaborar outro exemplo
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de André Conrado
Enviada em: quinta-feira, 20 de setembro de 2012 17:08
Para: FireBase
Assunto: Re: [firebase-br] RES: RES: Ajuda com SQL e datas + Informação
Porque o SELECT que o Sandro passou não funciona?
Em 20 de setembro de 2012 07:33, Maycon-Alphametro
<maycon em alphametro.com.br> escreveu:
> Maurício bom dia,
>
> Cara desculpa pela insistência, mais é que estou perdido com esse
> select, na verdade a minha necessidade é trazer sempre o último
> registro de cada código da tabela A e que tenha vencimento maior que a
> data de hoje, do contrário a consulta retorna vazia, não sei se
> consegui esclarecer melhor
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br
> [mailto:lista-bounces em firebase.com.br] Em nome de MAURICIO COSTA
> Enviada em: segunda-feira, 10 de setembro de 2012 18:55
> Para: FireBase
> Assunto: Re: [firebase-br] RES: Ajuda com SQL e datas
>
> Estou analisando aqui para poder fazer o sql mas, é a lógica que acho
> que esta dificultando. Veja os dados da tabela como você colocou.
>> 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
> olhando para a última linha onde você descreve que esta vencida, pois
> 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.
> Esta linha que você comenta, levando em consideração a regra de
> negócio ela foi lançada em 30/05/2012 certo pois, o sistema guarda no
> campo DATA_LANCAMENTO e que esta data é inserida pelo próprio sistema
> ou usuário pode alterar esta data?
> Pois você comentou que o dia de hoje é 04/09/2012. Levando em
> consideração a última linha que você comenta que só ela deveria trazer
> como vencida mas, como se o vencimento é 30/08/2012 e quando ela foi
> lançada era 30/05/2012 ou seja ela foi lançada antes de se vencer.
> Mas, resumindo. Descreva a regra de negócio para possamos entender e
> solucionar o problema, é que solicitando apenas o select não fica muito
claro.
>
> Em 10 de setembro de 2012 08:55, Maycon-Alphametro
> <maycon em alphametro.com.br
>> escreveu:
>
>> Bom dia Sandro, primeiramente me desculpe pela demora no retorno,
>>
>> Seguinte,fiz um teste com o seu SQL, mais ainda estou com
>> problemas, por exemplo o item 1 se eu fizer o seu SQL como a data de
>> 30/09/2012 não chegou ele trará a data de 30/06/2012, e isso não é
>> verdade pois o item não está vencido, nesse caso ele não deveria
>> trazer nada pois eu tenho uma data que é superior a data atual.
>>
>>
>> -----Mensagem original-----
>> De: lista-bounces em firebase.com.br
>> [mailto:lista-bounces em firebase.com.br]
>> Em
>> nome de Sandro Souza
>> Enviada em: quarta-feira, 5 de setembro de 2012 12:01
>> Para: FireBase
>> Assunto: Re: [firebase-br] Ajuda com SQL e datas
>>
>> 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
>>
> ______________________________________________
> 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