Oracle中SQL查询纵表转横表
纵向表

纵转横

SQL实现
select max(decode(trim(t.codename), '个单', trim(t.codename), null)) A,
max(decode(trim(t.codename), '团单', trim(t.codename), null)) B,
max(decode(trim(t.codename), '团单个单', trim(t.codename), null)) C,
max(decode(trim(t.codename), '汇交件个单', trim(t.codename), null)) D,
max(decode(trim(t.codename), '养老金', trim(t.codename), null)) E
from t_codedef t
where t.codetype = '001';
Oracle中使用分组聚合函数查询纵表转横表
Oracle10g
数据表:

要求,显示code唯一性,并大小写字符显示为同一行。
select code , wm_concat(name) from decode group by code ;
查询结果:

select code , replace(wm_concat(name),',','-') from decode group by code ;
查询结果:


本文详细介绍Oracle数据库中如何使用SQL查询将纵向数据转换为横向数据的技巧,包括使用decode函数和聚合函数实现数据的重塑,同时展示了如何处理数据表中的唯一性和大小写敏感问题。
1572

被折叠的 条评论
为什么被折叠?



