WITH sbldata AS ( SELECT 'BIN1' bintype, 40 fraction, 75.8 limitvalue FROM dual UNION ALL SELECT 'BIN2', 40, 80 FROM dual UNION ALL SELECT 'BIN3', 40, 2.27 FROM dual ) SELECT * FROM (SELECT bintype, fraction, limitvalue FROM sbldata WHERE bintype IN ('BIN1', 'BIN2') ) UNPIVOT (v FOR holdinfo IN (fraction, limitvalue)) PIVOT (MIN(v) FOR bintype IN ('BIN1' bin1, 'BIN2' bin2)) ;