[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