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 ;
查询结果: