Ini mungkin sedikit rapuh dan tidak terbukti di masa depan, tetapi Pivot dapat memberikan apa yang Anda inginkan:
SELECT *
FROM (
SELECT attr_name, attr_value
FROM test
)
PIVOT
( MIN(attr_value)
FOR attr_name IN ( 'ABC','GHI','MNO' )
)
Namun, saya sarankan Anda mempertimbangkan apakah Anda benar-benar membutuhkannya dalam format itu dan melihat apakah Anda bisa mengeluarkannya dalam format yang lebih alami.