有A汇总表如下:UserName Class_1  Class_2  Class_3 Class_4  Class_5  Class_6  Class_7 Class_8    Class_9   Class_10
0621004 99.0 164.0 60.0 80.0 0.0 0.0 0.0 0.0 1159.0 1111.0
00H0125 63.0 45.5 30.0 40.0 0.0 0.0 0.0 0.0 193.0 185.5
00A0012 49.0 66.0 60.0 40.0 0.0 0.0 0.0 0.0 1109.0 1106.0
2305117 49.0 66.0 60.0 40.0 0.0 0.0 0.0 0.0 1109.0 1106.0
请问:输出结果按Class_1+Class_3+Class_9_1排序,其中Class_9>1000 Class_9_1=100+(Class_9-1000)*10%,
Class_9<1000 Class_9_1=0,
无判断:Select top 10 *,KPR_Class_S=Class_1+Class_2 From KPR_HZ_TJ Order By KPR_Class_S Desc"
若加入Class_9运算如何写?

解决方案 »

  1.   


    Class_9=1000 时候如何判断呢?--类似这么写。
    Select top 10 *,KPR_Class_S=Class_1+Class_2+
    (
    case when Class_9>1000 then 100+(Class_9-1000)*0.1
         when Class_9<1000 then 0
         when Class_9=1000 then ?
         end
    )
    From KPR_HZ_TJ Order By KPR_Class_S Desc
      

  2.   

    case when没问题,可是Class_9运算规则比这个复杂的多,我做了个函数类,如何使用?