[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