WITH x(equipment_id, application, VALUE ) 
     AS (SELECT 'k001', 'THK', 'TRUE' FROM DUAL UNION ALL
         SELECT 'k001', 'BHK', 'FALSE' FROM DUAL UNION ALL
         SELECT 'k001', 'KHK', 'TRUE' FROM DUAL  UNION ALL
         SELECT 'k002', 'KHK', 'FALSE' FROM DUAL UNION ALL
         SELECT 'k002', 'THK', 'FALSE' FROM DUAL UNION ALL
         SELECT 'k002', 'BHK', 'FALSE' FROM DUAL )

  SELECT * FROM
(
  SELECT equipment_id, value, application
  FROM x
)
PIVOT
(
  MAX(value)
  FOR application IN ('THK', 'BHK', 'KHK')
) order by equipment_id;

P

Deixe um comentário