如多行记录
         billdate emp       empno   empname   dept    deptno    deptname          isworkattend  dworker
1 2010-6-1 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
2 2010-6-2 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
3 2010-6-3 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
4 2010-6-4 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
5 2010-6-5 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
6 2010-6-6 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
7 2010-6-7 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
8 2010-6-8 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
9 2010-6-9 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
10 2010-6-10 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
11 2010-6-11 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
12 2010-6-12 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
13 2010-6-13 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
14 2010-6-14 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
15 2010-6-15 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
16 2010-6-16 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
17 2010-6-17 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
18 2010-6-18 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
19 2010-6-19 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
20 2010-6-20 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
21 2010-6-21 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
22 2010-6-22 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
23 2010-6-23 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
24 2010-6-24 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
25 2010-6-25 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
26 2010-6-26 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
27 2010-6-27 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
28 2010-6-28 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
29 2010-6-29 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
30 2010-6-30 7869 051929 程生旺 1287336 050702 工程一区103队 1102 0.000000000000
查询生成
empno  deptno empname (2010-6-1)isworkattend  (2010-6-1)dworker ...(2010-6-30)isworkattend (2010-6-30)dworker 
051929 050702 程生旺      1102                     0.0       ......      1102                 0.0 
 把30行数据查询生产一条数据 ,格式为 程生旺一个月1-30号的出勤情况,在一行显示出来。
 急需解决此问题,急需各位帮助!!

解决方案 »

  1.   

    试下select empno deptno empname decode(billdate,2010-6-1,isworkattend) as 6-1 decode(billdate,2010-6-1,dworker) as 6-1dworker……
      

  2.   

    用DECODE函数吧
    empname , MAX(DECODE(TO_NUMBER(TO_CHAR(billdate,'DD')),1,isworkattend,NULL)) 1日,……
    GROUP BY empname
      

  3.   

    楼主去google下 行列转换吧
    别人帮你写出来就没什么意思了
      

  4.   

    LZ这个有点。。要连续写60列补充下面的省略号,试试,应该是你要的结果select empno,deptno,empname,sum(decode(billdate,'2010-6-1',isworkattend,0)) as (2010-6-1)isworkattend,
    sum(decode(billdate,'2010-6-1',dworker,0) as (2010-6-1)dworker......
    sum(decode(billdate,'2010-6-30',dworker,0) as (2010-6-30)dworker
    from attendence
    group by empname,billdate,empno,deptno
      

  5.   

    上面的错了,分组中多了billdateselect empno,deptno,empname,sum(decode(billdate,'2010-6-1',isworkattend,0)) as (2010-6-1)isworkattend,
    sum(decode(billdate,'2010-6-1',dworker,0) as (2010-6-1)dworker......
    sum(decode(billdate,'2010-6-30',dworker,0) as (2010-6-30)dworker
    from attendence
    group by empname,empno,deptno