select ag.Location,
sum( OneWeek ) as "< 7 Days",
sum( OneMonth ) as "7 to 30 Days",
sum( TwoMonths ) as "30 to 60 Days",
sum( ThreeMonths ) as "60 to 90 Days",
sum( ThreeMonthsPlus ) as "> 90 Days"
from ( select isnull(qd.QUEUENAME, sdo.NAME ) as Location,
case when ( ( ( wo.CompletedTime - wo.CreatedTime ) / 86400000.0 ) < 7 ) then 1 else 0 end as OneWeek,
case when ( ( ( wo.CompletedTime - wo.CreatedTime ) / 86400000.0 ) >= 7 and ( ( wo.CompletedTime - wo.CreatedTime ) / 86400000.0 ) < 30 ) then 1 else 0 end as OneMonth,
case when ( ( ( wo.CompletedTime - wo.CreatedTime ) / 86400000.0 ) >= 30 and ( ( wo.CompletedTime - wo.CreatedTime ) / 86400000.0 ) < 60 ) then 1 else 0 end as TwoMonths,
case when ( ( ( wo.CompletedTime - wo.CreatedTime ) / 86400000.0 ) >= 60 and ( ( wo.CompletedTime - wo.CreatedTime ) / 86400000.0 ) < 90 ) then 1 else 0 end as ThreeMonths,
case when ( ( ( wo.CompletedTime - wo.CreatedTime ) / 86400000.0 ) >= 90 ) then 1 else 0 end as ThreeMonthsPlus
FROM WorkOrder wo
LEFT OUTER JOIN WorkOrder_Fields wof on wo.WorkOrderID = wof.WorkOrderID
LEFT OUTER JOIN SiteDefinition sd ON wo.SITEID = sd.SITEID
LEFT OUTER JOIN SDOrganization sdo ON sd.SITEID = sdo.ORG_ID
LEFT OUTER JOIN WorkOrder_Queue wo_queue ON wo.WORKORDERID=wo_queue.WORKORDERID
LEFT OUTER JOIN QueueDefinition qd ON wo_queue.QUEUEID=qd.QUEUEID
LEFT OUTER JOIN WorkOrderStates wos ON wo.WORKORDERID=wos.WORKORDERID
LEFT OUTER JOIN StatusDefinition std ON wos.STATUSID=std.STATUSID
LEFT OUTER JOIN WorkOrderHistory woh ON ( woh.WorkOrderID = wo.WorkOrderID and woh.Operation in ( 'CLOSE', 'COMPLETED' ) )
WHERE wo.IsParent = 1
and sdo.Name not in ( 'US Facilities', 'US HR' )
and std.IsPending = 0
and ( select wo2.CompletedTime from WorkOrder wo2 WHERE ( wo2.WorkOrderID = wo.WorkOrderID ) ) >= <from_lastmonth>
and ( select wo2.CompletedTime from WorkOrder wo2 WHERE ( wo2.WorkOrderID = wo.WorkOrderID ) ) <= <to_lastmonth>
) as Ag
group by ag.Location
Any suggestions on fixing these reports would be appreciated.