需求格式 650)th"/>

行列转换_wmsys.wm_concat

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了行列转换_wmsys.wm_concat相关的知识,希望对你有一定的参考价值。

需求描述

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;

技术分享

本文出自 “90SirDB” 博客,请务必保留此出处http://90sirdb.blog.51cto.com/8713279/1787893

以上是关于行列转换_wmsys.wm_concat的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE 12G 使用函数wmsys.wm_concat问题

wmsys.wm_concat()函数的使用

orale wmsys.wm_concat()函数

oracle plsql wmsys.wm_concat()函数问题

oracle WMSYS.WM_CONCAT 函数转为listagg

使用Listagg分析函数优化wmsys.wm_concat