首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

关于ORACLE的行列转换的有关问题

2013-07-09 
关于ORACLE的行列转换的问题如下表EMPNOKQ_DATEKQ_TIME900012013-06-0100:08:09900012013-06-0116:12:1390

关于ORACLE的行列转换的问题
如下表
EMPNO  KQ_DATE      KQ_TIME
90001  2013-06-01   00:08:09
90001  2013-06-01   16:12:13
90002  2013-06-03   01:34:45
90002  2013-06-03   07:34:45
90002  2013-06-03   11:34:45
90002  2013-06-03   16:34:45
90002  2013-06-03   18:34:45
90002  2013-06-03   22:34:45

想实现这样的行列转换

EMPNO   KQ_DATE     TIME1     TIME2     TIME3     TIME4     TIME5     TIME6  
90001   2013-06-01  00:08:09  16:12:13
90002   2013-06-03  01:34:45  07:34:45  11:34:45  16:34:45  18:34:45  22:34:45

不知道有没有人有更好的解决方案。 oracle?
[解决办法]
哎。每天都能 看到  问 行列转换的帖子  
[解决办法]
为什么就不能试着 先去 百度 或 谷歌呢、、、、例子应该很多啊
[解决办法]

select t.empno,
       t.kq_date,
       max(decode(rn, 1, t.kq_time)) time1,
       max(decode(rn, 2, t.kq_time)) time2,
       max(decode(rn, 3, t.kq_time)) time3,
       max(decode(rn, 4, t.kq_time)) time4,
       max(decode(rn, 5, t.kq_time)) time5,
       max(decode(rn, 6, t.kq_time)) time6
  from (select t.*,
               row_number() over(partition by t.empno order by t.kq_time) rn
          from t) t
 group by t.empno, t.kq_date;

热点排行