Může to být trochu křehké a ne tak odolné vůči budoucnosti, ale Pivot vám může dát to, co chcete:
SELECT *
FROM (
SELECT attr_name, attr_value
FROM test
)
PIVOT
( MIN(attr_value)
FOR attr_name IN ( 'ABC','GHI','MNO' )
)
Doporučil bych vám však, abyste zvážili, zda to v tomto formátu opravdu potřebujete, a zjistili, zda to nemůžete dostat v přirozenějším formátu.