Boa tarde…
Estou usando o postgres e não estou conseguindo montar um select que faça o seguinte
Buscar a última compra anterior a determinada data informada…
Eu não estou conseguindo achar uma lógica para isso
Por ex: tenho várias compras…digamos que 5 a cada dia do ano… (exemplo)…
e quero buscar na base de dados a última compra feita anterior ao dia 4-08-2012
o que tenho é o seguinte:
(Só vou colocar aqui os campos pertinentes a dúvida para não dar muito código
SELECT COMPRA.CDCOMPRA, COMPRA.DATAEMISSAO
FROM COMPRA
WHERE COMPRA.DATAEMISSAO < '2012-08-04 00:00:00'
mas assim ele busca todas as compras emitidas anteriormente a data 4-08-2012 mas
eu estou prescisando somente da última
Creio que é fácil de fazer (ao menos tenho a impressão) e talvez eu esteja cansado já he he he…
ok…também estou pensando nisso, mas onde iria o max… se tento por ele no WHERE, dá erro, pois não presciso somente da última data, e sim do código da compra
Achei uma solução… não sei se é a melhor, mas funcionou…posto aqui agora para os que tiverem a mesma dúvida …
Deixei quase o mesmo select, bastou trabalhar com o order by e colocar um LIMIT no fim…para trazer somente o primeiro registro então ficou assim
SELECT COMPRA.CDCOMPRA, COMPRA.DATAEMISSAO
FROM COMPRA
WHERE COMPRA.DATAEMISSAO < '2012-08-04 00:00:00'
ORDER BY COMPRA.DATAEMISSAO DESC , COMPRA.CDCOMPRA DESC LIMIT 1