当前位置: 代码迷 >> Oracle技术 >> oracle sql 列值转列解决思路
  详细解决方案

oracle sql 列值转列解决思路

热度:90   发布时间:2016-04-24 08:07:23.0
oracle sql 列值转列
用一条SQL 可以实现下面的情况吗?
原表 :
 姓名  年龄  爱好
张三  8     吃饭
李四  9  玩球
王五  10   看月亮
.....
变成:
  张三  李四 王五  .....
  8         9       10
  吃饭  玩球  看月亮
40分 意思下  谢谢大家 在线等
------解决思路----------------------
忙中出错,试试这个
SELECT 
MAX(DECODE(RN,1,TEXT)),
MAX(DECODE(RN,2,TEXT)),
MAX(DECODE(RN,3,TEXT))
FROM
(select 姓名 TEXT,'姓名' AS TITLE,ROW_NUMBER()OVER (ORDER BY ROWID) RN from T
union all
select 年龄 TEXT,'年龄' AS TITLE,ROW_NUMBER()OVER (ORDER BY ROWID) RN FROM T
union all
select 爱好 TEXT,'爱好' AS TITLE,ROW_NUMBER()OVER (ORDER BY ROWID) RN FROM T)
GROUP BY TITLE
  相关解决方案