Should be able to use SUM
with CASE
, removing ACTION
from your GROUP BY
clause:
SELECT ID,
CODE,
SUM(CASE WHEN ACTION = 'VIEWED' THEN 1 ELSE 0 END) Viewed,
SUM(CASE WHEN ACTION = 'CLICKED' THEN 1 ELSE 0 END) Clicked,
SUM(CASE WHEN ACTION = 'PRINTED' THEN 1 ELSE 0 END) Printed,
SUM(CASE WHEN ACTION = 'SCHEDULED' THEN 1 ELSE 0 END) Scheduled
FROM MY_TABLE
GROUP BY ID,
CODE