Вы можете использовать PIVOT
следующим образом:
SELECT * FROM
(
select to_char(a.insertdatetime) as insertdatetime , b.category
from daily a, server b where status != 'OK'
)
PIVOT
(
COUNT(1) FOR category IN (1 AS "1", 2 AS "2", 3 AS "3", 4 AS "4", 5 AS "5")
)
ORDER BY insertdatetime;
- Обновление -
Ваш исходный запрос должен содержать '
вокруг значений в предложении IN
предложения PIVOT
:
SELECT
*
FROM
(
SELECT
TO_CHAR(A.INSERTDATETIME) AS INSERTDATETIME,
B.CATEGORY
FROM
DAILY A,
SERVER B
WHERE
STATUS != 'OK'
) PIVOT (
COUNT ( 1 )
FOR CATEGORY
IN ( 'ELASTIC' AS "ELASTIC", 'IS' AS "IS", 'IS_BPM' AS "IS_BPM", 'TC' AS "TC", 'UM' AS "UM" )
)
ORDER BY
INSERTDATETIME;
Cheers !!