postgresql7.2 SELECT ts.task_id, ts.task_number, t.task_revision_id, t.title, t.description, to_char(t.end_date,'YYYY-MM-DD HH24:MI') as end_date, t.percent_complete, t.estimated_hours_work, t.estimated_hours_work_min, t.estimated_hours_work_max, t.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, p.first_names || ' ' || p.last_name as full_name, r.one_line as role FROM pm_tasks ts, (select * from pm_tasks_revisionsx t LEFT JOIN pm_task_assignment ta on t.item_id = ta.task_id) t LEFT JOIN persons p ON t.party_id = p.person_id, pm_roles r WHERE ts.task_id = t.item_id and t.role_id = r.role_id [template::list::filter_where_clauses -and -name tasks] [template::list::orderby_clause -orderby -name tasks]