आप Oracle के किसी भी संस्करण में डेटा को इस तरह पिवट कर सकते हैं।
SELECT id,
MAX( CASE WHEN key = 'name' THEN value ELSE null END ) name,
MAX( CASE WHEN key = 'height' THEN value ELSE null END ) height,
MAX( CASE WHEN key = 'awesomeness' THEN value ELSE null END ) awesomeness
FROM facts
WHERE id IN (1,2,3)
GROUP BY id
यदि आप 11g का उपयोग कर रहे हैं, तो आप PVOT
. का भी उपयोग कर सकते हैं ऑपरेटर।
यदि यह आपके डेटा मॉडल का प्रतिनिधि है, हालांकि, उस प्रकार का इकाई-विशेषता डेटा मॉडल आम तौर पर अक्षम होने वाला है। आमतौर पर आपको उस तालिका के साथ बेहतर सेवा दी जाती है जिसमें name
. के लिए कॉलम होते हैं , height
, awesomeness
, आदि.