[firebase-br] RES: RES: RES: Ajuda com SQL e datas + Informação

André Conrado acf em andreconrado.net
Qui Set 20 18:36:16 -03 2012


tente:

SELECT COD_TABELA_A
FROM B
GROUP BY COD_TABELA_A
HAVING MAX(DATA_VENCIMENTO) < CURRENT_TIMESTAMP

Abs

Em 20 de setembro de 2012 17:48, Maycon-Alphametro
<maycon em alphametro.com.br> escreveu:
> 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
>
>
> ______________________________________________
> 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