SELECT TRANSDATE, b.PAYEENAME AS PAYEES, case when TRANSCODE = 'Deposit' then TRANSAMOUNT else NULL end AS CREDITS, case when TRANSCODE = 'Withdrawal' then -TRANSAMOUNT else NULL end AS DEBITS FROM BILLSDEPOSITS_V1 a join payee_v1 b USING(PAYEEID) WHERE TRANSDATE < date('now','+32 days') UNION ALL SELECT date('now','+32 days') AS TRANSDATE, ' ' AS PAYEES, NULL AS CREDITS, ' ' AS DEBITS UNION ALL SELECT date('now','+32 days') AS TRANSDATE, ' ' AS PAYEES, NULL AS CREDITS, ' ' AS DEBITS UNION ALL SELECT date('now', '+32 days' ) AS TRANSDATE, 'TOTAL NEAR TERM EXPENSES' AS PAYEES, NULL AS CREDITS, sum(case when TRANSCODE = 'Withdrawal' then -TRANSAMOUNT else 0 end ) AS DEBITS FROM BILLSDEPOSITS_V1 WHERE TRANSDATE < date('now','+32 days') UNION ALL SELECT date('now','+32 days' ) AS TRANSDATE, 'TOTAL NEAR TERM INCOME' AS PAYEES, sum(case when TRANSCODE = 'Deposit' then TRANSAMOUNT else 0 end ) AS CREDITS, NULL AS DEBITS FROM BILLSDEPOSITS_V1 WHERE TRANSDATE < date('now','+32 days') ORDER BY TRANSDATE