解决方案 »
- “Oracle Configuration Manager Configuration” 的可选工具失败
- oracle10g,如何给已经存在的表空间新增一个数据文件?
- 求:批量提交数据的储存过程
- 在线等 急急 插入7億条测试数据的方案 方法 给高分
- pl/sql删除数据后,通过PB还能查询到已经删除的数据
- 新手请教:执行计划怎么看???
- 请问"违反唯一约束条件"是什么意思
- 征求数据库设计,欢迎大家讨论
- 问一个java stored procedure的疑惑问题!
- 这样的查询如何转换成能在oracle 8下运行(oracle8好象不支持单值子查询作为输出列)
- 创建触发器,禁止更新数据,并且记录数据,求大神指导!
- 急:Oracle简单的触发器问题
max(decode())或max(case when)或pivot,具体写法继续百度吧不是固定这几个部门,可以借助视图实现
百度 oracle 行转动态列 应该有相关实例
with t as
(select 's1' mname, 'x1,x2' sname
from dual
union all
select 's2' mname, 'x1,x2' sname
from dual
union all
select 's3' mname, 'x1,x2' sname
from dual
union all
select 's1' mname, 'x3,x4' sname
from dual)
select max(decode(mname, 's1', COL)) S1,
max(decode(mname, 's2', COL)) S2,
max(decode(mname, 's3', COL)) S3
from (select mname,
ltrim(max(replace(sys_connect_by_path(sname, ',|'), '|', ',')),
',') col
from (select t.*,
row_number() over(partition by mname order by mname) rn
from t)
start with rn = 1
connect by prior rn = rn - 1
and prior mname = mname
group by mname);