Może to być trochę kruche i nie tak odporne na przyszłość, ale Pivot może dać ci to, czego chcesz:
SELECT *
FROM (
SELECT attr_name, attr_value
FROM test
)
PIVOT
( MIN(attr_value)
FOR attr_name IN ( 'ABC','GHI','MNO' )
)
Radzę jednak zastanowić się, czy naprawdę potrzebujesz go w tym formacie i sprawdzić, czy możesz go uzyskać w bardziej naturalnym formacie.