यदि आप अपने डेटा को एक कुंजी/मूल्य जोड़ी प्रति पंक्ति प्रारूप में प्राप्त करने में सक्षम हैं, तो बहुत काम किया जाता है। मुझे उस परिणाम को t
. कॉल करने दें . ऐसा कुछ आपको पूरी तरह से प्रभावित कर सकता है:
select max(case when LEFT(data, 4) = 'key1' then SUBSTRING(data, 6, len(data)) end) as key1,
MAX(case when LEFT(data, 4) = 'key2' then SUBSTRING(data, 6, len(data)) end) as key2,
MAX(case when LEFT(data, 4) = 'key2' then SUBSTRING(data, 6, len(data)) end) as key3
from t
group by (id - 1)/3
यह मानता है कि id
क्रमिक रूप से असाइन किया गया है, जैसा कि आपके उदाहरण में दिखाया गया है।