select RES.* from ( select ID_, sum(INSTANCE_COUNT_) as INSTANCE_COUNT_, sum(FINISHED_COUNT_) as FINISHED_COUNT_, sum(CANCELED_COUNT_) as CANCELED_COUNT_, sum(COMPLETE_SCOPE_COUNT_) as COMPLETE_SCOPE_COUNT_, sum(OPEN_INCIDENT_COUNT_) as OPEN_INCIDENT_COUNT_ , sum(RESOLVED_INCIDENT_COUNT_) as RESOLVED_INCIDENT_COUNT_ , sum(DELETED_INCIDENT_COUNT_) as DELETED_INCIDENT_COUNT_ from ( select ACT.ACT_ID_ as ID_, sum(CASE WHEN ACT.END_TIME_ is NULL THEN 1 ELSE 0 END) as INSTANCE_COUNT_ , sum(CASE WHEN ACT.END_TIME_ is not NULL THEN 1 ELSE 0 END) as FINISHED_COUNT_ , sum(CASE WHEN ACT.ACT_INST_STATE_ = 2 THEN 1 ELSE 0 END) as CANCELED_COUNT_ , sum(CASE WHEN ACT.ACT_INST_STATE_ = 1 THEN 1 ELSE 0 END) as COMPLETE_SCOPE_COUNT_ , 0 as OPEN_INCIDENT_COUNT_ , 0 as RESOLVED_INCIDENT_COUNT_ , 0 as DELETED_INCIDENT_COUNT_ from ACT_HI_ACTINST ACT INNER JOIN ACT_HI_PROCINST PI ON ACT.PROC_INST_ID_ = PI.ID_ where ACT.PROC_DEF_ID_ = ? and PI.START_TIME_ <= ? and PI.START_TIME_ >= ? GROUP BY ACT_ID_ UNION select INC.ACTIVITY_ID_ as ID_, 0 as INSTANCE_COUNT_ , 0 as FINISHED_COUNT_ , 0 as CANCELED_COUNT_ , 0 as COMPLETE_SCOPE_COUNT_ , sum(CASE WHEN INC.INCIDENT_STATE_ = 0 THEN 1 ELSE 0 END) as OPEN_INCIDENT_COUNT_ , sum(CASE WHEN INC.INCIDENT_STATE_ = 1 THEN 1 ELSE 0 END) as RESOLVED_INCIDENT_COUNT_ , sum(CASE WHEN INC.INCIDENT_STATE_ = 2 THEN 1 ELSE 0 END) as DELETED_INCIDENT_COUNT_ from ACT_HI_INCIDENT INC INNER JOIN ACT_HI_PROCINST PI ON INC.PROC_INST_ID_ = PI.ID_ where INC.PROC_DEF_ID_ = ? and PI.START_TIME_ <= ? and PI.START_TIME_ >= ? GROUP BY INC.ACTIVITY_ID_ ) RES GROUP BY ID_ ) RES order by RES.ID_ asc LIMIT ? OFFSET ?