[firebase-br] Ajuda com SQL e datas
Sandro Souza
escovadordebits em gmail.com
Qua Set 5 12:01:18 -03 2012
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
>
Mais detalhes sobre a lista de discussão lista