日期:2014-05-18  浏览次数:20720 次

字段的默认值设置的问题
有一表:TableA
字段有:
---------------
AA       BB     CC  
1              
2        
3        
7
5
6
7
8
9
10
-------------------
现在做到以下的要求:
BB列的值为:AA列的值   除以   AA列的最大的5列的平均值
CC的值为:根据BB的值的大小自动增加排名,。

                      例如:AA列的最大5列的值的平均值为:(10+9+8+7+6)/5=8
                                  那么BB,CC列的值为:
                                AA       BB       CC
                                1         1/8     10
                                2         2/8     9
                                3         3/8     8
                                4         4/8     7
                                5         5/8     6
                                6         6/8     5
                                7         7/8     4
                                8         8/8     3
                                9         9/8     2
                                10       10/8   1

不知道我说清楚了没有。呵呵。

这样的问题在数据里面应该如何设置呢。

只有50分了。

谢谢大家!


------解决方案--------------------
没办法,缺省只能使用任何常量、内置函数或数学表达式
------解决方案--------------------
用视图或查询时再生成
------解决方案--------------------

select AA,
[BB]=rtrim(AA)+ '/ '+(select rtrim(sum(AA)) from ta b where (select count(1) from ta where AA> =b.AA)=5),--显示1
[BB1]=AA*1.0/(select rtrim(sum(AA)) from ta b where (select count(1) from ta where AA> =b.AA)=5),--显示2
[CC]=(select count(*) from ta where AA> =a.AA)
from ta a

------解决方案--------------------
字段的默认值设置的问题 ??
是不现实的,这样的排序是动态的。。。