解决方案 »

  1.   

    用 TO_CHAR(日期 - 1,'d') 获得星期几。
    建议先建个日历表,把星期预先算好。
    可以根据日期范围多表关联生成单元明细。
    不定长的行列转换还是用程序处理比较方便,否则列多了SQL可能超长。
      

  2.   

    可是客户就是想看到这种EXCEL,就是列头都是日期,行都是对应的人,如果有就显示,没有就不显
      

  3.   

    select 
    max(decode(表1.xq,to_char(to_date('20141201','yyyymmdd'),'d'),decode(表1.sfxx,1,表2.姓名))) as "20141201",
    max(decode(表1.xq,to_char(to_date('20141202','yyyymmdd'),'d'),decode(表1.sfxx,1,表2.姓名))) as "20141202",
    max(decode(表1.xq,to_char(to_date('20141203','yyyymmdd'),'d'),decode(表1.sfxx,1,表2.姓名))) as "20141203"
    from 表1,表2
    where 表1.bh=表2.bh
    group by 表1.bh列不固定的话,需要在应用程序中动态拼接,或是在数据库中动态创建视图实现
      

  4.   

    bw555
    超级感谢,CSDN果然是大神多啊,我想了好久都没想出来该咋弄,谢谢了!