postgresql7.3 SELECT ts.task_id, ts.task_id as item_id, ts.task_number, t.task_revision_id, t.title, t.parent_id as project_item_id, to_char(t.earliest_start,'J') as earliest_start_j, to_char(current_timestamp,'J') as today_j, to_char(t.latest_start,'J') as latest_start_j, to_char(t.latest_finish,'J') as latest_finish_j, to_char(t.latest_start,'YYYY-MM-DD HH24:MI') as latest_start, to_char(t.latest_finish,'YYYY-MM-DD HH24:MI') as latest_finish, t.percent_complete, t.estimated_hours_work, t.estimated_hours_work_min, t.estimated_hours_work_max, case when t.actual_hours_worked is null then 0 else t.actual_hours_worked end as actual_hours_worked, to_char(t.earliest_start,'YYYY-MM-DD HH24:MI') as earliest_start, to_char(t.earliest_finish,'YYYY-MM-DD HH24:MI') as earliest_finish, to_char(t.latest_start,'YYYY-MM-DD HH24:MI') as latest_start, to_char(t.latest_finish,'YYYY-MM-DD HH24:MI') as latest_finish FROM pm_tasks_active ts, cr_items i, pm_tasks_revisionsx t WHERE ts.task_id = t.item_id and i.item_id = t.item_id and t.task_revision_id = i.live_revision and t.latest_start >= :first_of_month_date and t.latest_start <= :last_of_month_date ORDER BY t.earliest_start