关于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
不知道有没有人有更好的解决方案。
------解决方案--------------------哎。每天都能 看到 问 行列转换的帖子
------解决方案--------------------为什么就不能试着 先去 百度 或 谷歌呢、、、、例子应该很多啊
------解决方案--------------------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;