Puede ser un poco frágil y no tan preparado para el futuro, pero Pivot puede darte lo que quieres:
SELECT *
FROM (
SELECT attr_name, attr_value
FROM test
)
PIVOT
( MIN(attr_value)
FOR attr_name IN ( 'ABC','GHI','MNO' )
)
Sin embargo, le aconsejo que considere si realmente lo necesita en ese formato y vea si puede sacarlo en un formato más natural.