每行记录这样格式化:从第n个字段开始,将k、v一组的2个字段为一组,分到下一行,依次类推……

如何将表中每行记录这样格式化:从第n个字段开始,后面的都是k、v一组的2个字段,后面的字段分到下一行,下一行头n个字段一样,还是n+2个字段。以n=4为例,
原表是这样的:图片说明

要变为这样:

图片说明

原表每行字段数不一定一样,但列4之后一定是2的倍数,拆分后每行都是6个字段。依次类推,直到一行的字段遍历完

写4个子查询,每个子查询分别取对应的字段,最后再通过union all连接起来,再加个条件将为空的列过滤掉

sql代码贴上来比较乱,给你截了个图上来。
图片说明