select Field,OtherField from(
select Field,OtherField,a Name from table
where Field<=3
union all
select Field,OtherField,b Name  from table
where Field>3 and Field<=6
union all
select Field,OtherField,c Name  from table
where Field>6)
group by Name

解决方案 »

  1.   

    SQL> select id,case when id>0 and id<6 then 1 else 2 end case from test;        ID       CASE
    ---------- ----------
             1          1
             2          1
             5          1
             4          1
             5          1
             6          2
             8          2
             9          2
            10          2
             6          2
             8          2        ID       CASE
    ---------- ----------
             9          2
            10          2
             7          2
      

  2.   

    select decode(sign(field-4),-1,1,
           decode(sign(field-7),-1,2,
           decode(sign(field-11),-1,3,0))) from tablename;最后一个零表示字段值不在[1~10]之间
      

  3.   

    select decode(sign(field-1)*sign(3-field),1,1,decode(sign(field-4)*sign(6-field),1,2,decode(sign(field-7)*sign(10-filed),1,3))) from tabname