需求描述
loc_sys_busi_strategy是纵表,需转换成横表方便Redis QUEUE处理。
源数据格式
需求格式
注意其中speed,area成需求格式里的标题heading。
格式转换
select busirule_id,element_key,element_val from loc_sys_busi_strategy;
title heading 转换
select busirule_id, 'speed' speed, 'area' area from loc_sys_busi_strategy where 1 = 2
union
select busirule_id,
decode(element_key, upper('speed'), element_val),
decode(element_key, upper('area'), element_val) from loc_sys_busi_strategy;
合并
select busirule_id,
to_char(wmsys.wm_concat(speed)) speed,
to_char(wmsys.wm_concat(area)) area from (select busirule_id, 'speed' speed, 'area' area from loc_sys_busi_strategy where 1 = 2
union
select busirule_id,
decode(element_key, upper('speed'), element_val),
decode(element_key, upper('area'), element_val) from loc_sys_busi_strategy) group by busirule_id;