Ajuda em sql

Olá pessoal,

Estou com problemas em implementar meu relatório de fluxo de caixa, eu consegui pegar os dados de todas as contas a pagar e a receber e seus respectivos valores.
O problema é que ele vai dar o valor de fluxo de caixa do mes sem pesquisar o saldo do mes anterior, meu sql está assim:

SELECT 0 as CP, tb_car.valor AS CR, \"\" as A, tb_car.docRec AS " +
               "B FROM tb_car where MONTH(tb_car.dataVenc)=MONTH(Curdate())" +
               "UNION SELECT tb_cap.valor AS CP, 0 AS CR," +
               "tb_cap.docPag AS A, \"\" AS CRD FROM tb_cap " +
               "where MONTH(tb_cap.dataVenc)=MONTH(Curdate())

Gostaria que vocês me dessem uma idéia de como fazer uma nova sql pesquisando o saldo do valor do mes anterior, porém estou usando IReport e só consigo em uma sql…

Ahhh, aproveitando como faço um sql que sempre no ultimo de cada mes executasse algo???

Valeu!