请看:
 table p 
   period_type  from_date   end_date
   weekdays      1            3
   weekdays      5            5
   weekends      6            7
 table ch
   appln       start_date    end_date        per_type
       1          2003.9.1    2003.9.3       weekdays
     2            2003.9.6    2003.9.7       weekends
      3           2003.9.15     2003.9.16    weekdays
     4            2003.10.11    2003.10.12   weekends
     5            2003.10.20    2003.10.22   weekdays
我要实现:
   在 2003.1.1-》2003.12.1 时间段(差数从网页上得到):
1。  (在这段时间内ch表有多少weekdays)/(在这段时间内有多少个weekdays(ch表中有weekdays定义时间段)  )
2。weekends 和以上一样。请问大虾们能否指教一二。
  

解决方案 »

  1.   

    是啊,count(*),per_type不行吗?
      

  2.   

    我作一下解释:
      请注意:ch 是定义weekdays 的,比如说周一和和周三 和周五 
      而weekends 为 周六和周七。  
       (在这段时间内有多少个weekdays(ch表中有weekdays定义时间段)
        是求2003.1.1-》2003.12.1 有多少是在(周一,周2,周3,周5)范围内 天数。
       
      
      
      

  3.   

    假设你的ch表中的start_date和end_date是date类型,如果是字符型可以调用to_date函数。你的意思是不是:select sum(end_date - start_date+1),per_type
    from ch
    where start_date between to_date('20030101','yyyymmdd') and to_date('20031201','yyyymmmdd')
    and end_date between to_date('20030101','yyyymmdd') and to_date('20031201','yyyymmmdd')
    group by per_type
      

  4.   

    Lastdrop(空杯) 是热心的高手的说
    致敬!