Jika Anda dapat memasukkan data Anda ke dalam format satu pasangan kunci/nilai per baris, maka sebagian besar pekerjaan telah selesai. Biarkan saya menyebut hasil itu t
. Sesuatu seperti ini mungkin bisa membantu Anda:
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
Ini mengasumsikan bahwa id
ditugaskan secara berurutan, seperti yang ditunjukkan pada contoh Anda.