原始表结果:
人员编号 序号 项目 价格 单位 数量
0001 01 内容1 1价格 1
0001 02 内容2 2.. 2
0001 03 内容3 3.. 3
0001 04 内容4 4.. 4
0001 05 内容5 5.. 5 0002 01 内容1 1.. 10
0002 02 内容2 2.. 20
...
需要效果
人员编号 序号 项目 价格 单位 数量 序号 项目 价格 单位 数量
0001 01 内容1 1价格 1 02 内容2 2 2
0001 03 内容3 3价格 3 04 内容4 4 4
0001 05 内容5 5价格 5 无值补空... 0002 01 内容1 1价格 10 02 内容2 2.. 20
...
对2取余,奇数列放在左边,偶数列放在右边,两边不平衡补空,如何解决,谢谢!
人员编号 序号 项目 价格 单位 数量
0001 01 内容1 1价格 1
0001 02 内容2 2.. 2
0001 03 内容3 3.. 3
0001 04 内容4 4.. 4
0001 05 内容5 5.. 5 0002 01 内容1 1.. 10
0002 02 内容2 2.. 20
...
需要效果
人员编号 序号 项目 价格 单位 数量 序号 项目 价格 单位 数量
0001 01 内容1 1价格 1 02 内容2 2 2
0001 03 内容3 3价格 3 04 内容4 4 4
0001 05 内容5 5价格 5 无值补空... 0002 01 内容1 1价格 10 02 内容2 2.. 20
...
对2取余,奇数列放在左边,偶数列放在右边,两边不平衡补空,如何解决,谢谢!
max(decode(mod(to_number(序号),2),0,项目,null) 项目1,
max(decode(mod(to_number(序号),2),0,价格,null) 价格1,
max(decode(mod(to_number(序号),2),0,单位,null) 单位1,
max(decode(mod(to_number(序号),2),0,数量 ,null) 数量 1,
max(decode(mod(to_number(序号),2),1,序号,null) 序号2,
max(decode(mod(to_number(序号),2),1,项目,null) 项目2,
max(decode(mod(to_number(序号),2),1,价格,null) 价格2,
max(decode(mod(to_number(序号),2),1,单位,null) 单位2,
max(decode(mod(to_number(序号),2),1,数量 ,null) 数量 2
from 表名
group by 人员编号,trunc(to_number(序号)/2)
max(decode(mod(to_number(序号),2),0,项目,null) 项目1,
max(decode(mod(to_number(序号),2),0,价格,null) 价格1,
max(decode(mod(to_number(序号),2),0,单位,null) 单位1,
max(decode(mod(to_number(序号),2),0,数量 ,null) 数量 1,
max(decode(mod(to_number(序号),2),1,序号,null) 序号2,
max(decode(mod(to_number(序号),2),1,项目,null) 项目2,
max(decode(mod(to_number(序号),2),1,价格,null) 价格2,
max(decode(mod(to_number(序号),2),1,单位,null) 单位2,
max(decode(mod(to_number(序号),2),1,数量 ,null) 数量 2
from 表名
group by 人员编号,trunc((to_number(序号)-1)/2)上面的分组有点错误