update tablename set quality=0-quality where judge='差' or judge='退'
select batchno, sum(quality) as totalquality from tablename group by batchno order by batchno

解决方案 »

  1.   

    你使用的是什么数据库?
    是否大型数据库?
    ================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
    ★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。
    ★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
    ★  支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名  ●  
         可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
    Http://www.ChinaOK.net/csdn/csdn.rar
    Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]
      

  2.   

    select sum(decode(judge,'好',1,'良','差',-1,'退',-1,0)*quality) as total from tab group by batchno order by batchno
      

  3.   

    sorry,错了。
    改为:
    select sum(decode(judge,'好',1,'良',1,'差',-1,'退',-1,0)*quality) as total from tab group by batchno order by batchno
      

  4.   

    我写一个MS sqlserver 或者Sybase的语句:
    SELECT batchno,SUM(quality) FROM
    (SELECT batchno, (case   when judge='好' then quality else          -quality end) quality
      FROM <TABLENAME>) A
    GROUP BY batchno================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
    ★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。
    ★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
    ★  支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名  ●  
         可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
    Http://www.ChinaOK.net/csdn/csdn.rar
    Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]
      

  5.   

    送你点分!
    galeboy给juntaopeng捐献了1000可用分;juntaopeng收到了:900可用分