ReportSQL - Days Since Last Activity on a Case
Days since most recent note, timeslip, activity, service (phase) a/k/a Days Since Last Activity
Numeric formula field on Case Data
(SELECT floor((extract(epoch from now() - greatest(last_note.created_date, last_timeslip.created_date, last_activity.created_date, last_phase.created_date)) / 86400)::numeric) AS days_old FROM matter LEFT JOIN ( SELECT type_id AS matter_id, max(timestamp_create) AS created_date FROM notes WHERE type='matter' GROUP BY type_id ) AS last_note ON last_note.matter_id = matter.id LEFT JOIN ( SELECT module_id AS matter_id, max(created_date) AS created_date FROM service WHERE module = 'matter' GROUP BY module_id ) AS last_timeslip ON last_timeslip.matter_id = matter.id LEFT JOIN ( SELECT matter_id, max(date_create) AS created_date FROM activity GROUP BY matter_id ) AS last_activity ON last_activity.matter_id = matter.id LEFT JOIN ( SELECT matter_id, max(create_date) AS created_date FROM phase GROUP BY matter_id ) AS last_phase ON last_phase.matter_id = matter.id WHERE matter.id = %tableAlias%.id)