500 from m
这种字符串你准备怎么处理?
一般来说SUM(Ecun)-SUM(Nqu)就可以了,但你那两个字段做成nvarchar的,还允许填入明显不能转成数字的字符串。那样的话你怎么可能算出结果?

解决方案 »

  1.   

    select sum(cast(nullif(Ecun,0) as int)) - sum(cast(nullif(nqu,0) as int)) from 表
      

  2.   

    麻烦就是在这里..这个500 from m 可以处理.....你说的SUM(Ecun)-SUM(Nqu)也是不行的..我数据库里是字符串 而且如果是数字的话.我要的也是这样的效果Sum(ECUN)-Nqu=结余
      

  3.   

    你真要那么做的话就要绕很大个圈子,不要放到sql里做,弄个实体类 包含属性 id,ecun,nqu 。
    数据库查出来的值赋进去作为一个数据集,ecun,nqu设定为double,当为null,或者没法转为double时赋值0,那样你可以用循环算出ecun的总合,随你喜欢去减任何一个nqu