我有一个基本表:两个字段落,一个是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
请问各位高手怎么样好?

解决方案 »

  1.   

    关于这样的行转列的问题,CSDN很多,搜索一下吧
      

  2.   

    如果楼主每个分组都是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;