特别难题!!!!

大哈哈0814 2004-10-26 11:28:56
我有一个基本表:两个字段落,一个是ID号(字符型,8位长),另一个时间型(日期型),它中的值为:
ID DKRQ
10000000 20004/10/10 08:00:00
10000000 20004/10/10 08:12:00
10000000 20004/10/10 08:12:30
10000000 20004/10/10 17:00:00
10000001 20004/10/10 08:00:00
10000001 20004/10/10 08:12:00
10000001 20004/10/10 08:12:30
10000001 20004/10/10 17:00:00
10000002 20004/10/10 08:00:00
10000002 20004/10/10 08:12:00
10000002 20004/10/10 08:12:30
10000002 20004/10/10 17:00:00
10000003 20004/10/10 08:00:00
10000003 20004/10/10 08:12:00
10000003 20004/10/10 08:12:30
10000003 20004/10/10 17:00:00
当然它还有很多天,ID号数据。
请问我想转换成这样的一个视图:
ID DKRQ1 DKRQ2 DKRQ3 DKRQ4
10000000 2004/10/10 08:00:00 2004/10/10 08:12:00 2004/10/10 08:12:30
2004/10/10 17:00:00
10000002 2004/10/10 08:00:00 2004/10/10 08:12:00 2004/10/10 08:12:30
2004/10/10 17:00:00
10000003 2004/10/10 08:00:00 2004/10/10 08:12:00 2004/10/10 08:12:30
2004/10/10 17:00:00
请问各位高手怎么样好?
...全文
123 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
大哈哈0814 2004-10-28
  • 打赏
  • 举报
回复
这是考勤系统中打卡钟上的数据,两个字段:一个是员工的ID号8位长;另一个时间字段日期+时间。
每个人一天刷4次卡(每人每天有4条数据)。我要制作员工考勤报表,须转化成上面形式。
yjdn 2004-10-26
  • 打赏
  • 举报
回复
如果楼主每个分组都是4个DKRQ,而且DKRQ是从小到大的话,可以这样

select ID,min(DKRQ) as DKRQ1,(
select max(DKRQ) from 表名 where ID=a.ID and rownum<3
) as DKRQ2,
(
select max(DKRQ) from 表名 where ID=a.ID and rownum<4
) as DKRQ3,max(DKRQ) as DKRQ4
from 表名 a group by ID;
ATGC 2004-10-26
  • 打赏
  • 举报
回复
关于这样的行转列的问题,CSDN很多,搜索一下吧

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧