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

Maycon-Alphametro maycon em alphametro.com.br
Qui Set 20 07:33:04 -03 2012


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





Mais detalhes sobre a lista de discussão lista