日期:2014-05-16  浏览次数:20869 次

ASP排序问题
sql="select * from  wl where Company="&session("company")&" order by id desc "
这个是按ID排序,我想按两个字段的数值相减然后再排序,
比如这样
id     names      bksl      kcsl   .......
1     测试物料       100       90    .......
2     测试物料1      100       80    .......
3     测试物料2     100      110    .......

我想显示的排序结果如下

测试物料1      100       80    .......
测试物料       100       90    .......
测试物料2     100      110    .......

就是kcsl减去bksl,数值为负数和0的排在所有的数据前面
如果为正数的就按ID排序

希望高人指点
------解决方案--------------------


sql="select *, bksl- kcsl as Total from  wl where Company="&session("company")&" order by Total  ASC"
------解决方案--------------------
那试试:

access

sql="select * from  wl where Company="&session("company")&" order by sgn(kcsl-bksl-1) desc , (kcsl-bksl) desc, id asc"


sql

sql="select * from  wl where Company="&session("company")&" order by sign(kcsl-bksl-1) desc , (kcsl-bksl) desc, id asc"