Question

I am running a query to return a count of a number of completed jobs per week, with the weeks broken down into 4-weekly periods based on a separate financial period table, but the query isn't returning the correct count.

Here is a sample of the code:

select (SELECT (fp.financialperiod || ' week ' ||
ceil(floor((wo.actfinish - p.periodstart+1))/7))
        FROM maximo.financialperiods fp
       WHERE TRUNC (wo.actfinish) BETWEEN fp.periodstart
                                      AND fp.periodend) fin_period,
wo.wo8 as assetgroup,
Count(wo.wonum)
from maximo.workorder wo
where (TRUNC (wo.actfinish) BETWEEN TO_DATE (:startdate, 'DD/MM/YYYY')
                                    AND TO_DATE (:enddate, 'DD/MM/YYYY'))
group by wo.actfinish,
wo.wo8
Was it helpful?

Solution

I suspect the reason is that you need to aggregate by the first column. Given the structure of your query, this is most easily done using a subquery:

select fin_period, wo.wo8, count(wo.wonum) as cnt
from (select (SELECT (fp.financialperiod || ' week ' || ceil(floor((wo.actfinish -    p.periodstart+1))/7))
              FROM maximo.financialperiods fp
              WHERE TRUNC (wo.actfinish) BETWEEN fp.periodstart AND fp.periodend
             ) as fin_period,
             wo.wo8 as assetgroup, wo.wonum
      from maximo.workorder wo
      where TRUNC(wo.actfinish) BETWEEN TO_DATE (:startdate, 'DD/MM/YYYY')
                                    AND TO_DATE (:enddate, 'DD/MM/YYYY')
     ) t
group by fin_period, wo.wo8;

OTHER TIPS

SELECT 
    (SELECT (fp.financialperiod || ' week ' || ceil(floor((wo.actfinish - p.periodstart+1))/7))
     FROM maximo.financialperiods fp
     WHERE TRUNC (wo.actfinish) BETWEEN fp.periodstart AND fp.periodend) fin_period, wo.wo8 as assetgroup, Count(wo.wonum) AS [Count]
FROM maximo.workorder wo
WHERE (TRUNC (wo.actfinish) BETWEEN TO_DATE (:startdate, 'DD/MM/YYYY')
                                    AND TO_DATE (:enddate, 'DD/MM/YYYY'))
GROUP BY wo.actfinish, wo.wo8, fp.financialperiod
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top