Nó có thể hơi mong manh và không được chứng minh trong tương lai, nhưng Pivot có thể cung cấp cho bạn những gì bạn muốn:
SELECT *
FROM (
SELECT attr_name, attr_value
FROM test
)
PIVOT
( MIN(attr_value)
FOR attr_name IN ( 'ABC','GHI','MNO' )
)
Tuy nhiên, tôi khuyên bạn nên cân nhắc nếu bạn thực sự cần nó ở định dạng đó và xem liệu bạn có thể lấy nó ra ở định dạng tự nhiên hơn không.