有一个表,里面的数据是
   CA        CB 
20天后到期   -20
10天后到期   -10
5天后到期    -5
超期5天      5
超期10天     10  我想让-20  和 -10 形成一个期间
-10  和  -5 形成一个期间
-5   和  5  形成一个期间
……从另外的表中取数,和这个范围进行比较  
请问各位,这个几个期间怎么形成?

解决方案 »

  1.   

    SELECT T.*,CASE WHEN CB>-20 AND CB<=-10 THEN 1 WHEN CB>-10 AND CB<=-5 THEN 2
    WHEN CB>-5 AND CB<=5 THEN 3 ELSE 4 END AS LE FROM TEST
      

  2.   

    to suyogi()   这个表里的数据是用户维护近来的,CB也是他来填的。
      

  3.   

    select 期间,count(期间) 期间个数 
    from 
    (select CB,
    case when CB >=-20 and CB <-10  then 'AAA'
    when CB >=-10 and CB <-5  then 'BBB'
    when CB >=-5  and CB <5  then 'CCC'
    end  期间
    from  数据表
    ) 期间统计
    group by 期间
      

  4.   

    十天后到期的:select sum(total) total from tableA where date1-date2>(select 第一行的CB from  tableB[期间表]) and date1-date2<=(select 第二行的CB from  tableB[期间表])
    这样写你们明白了吧?
    问题关键在于第一行,第二行,第三行……数据怎么取。