select
(case when
      (a-b+c)<=0 then 0 
      when 
      (a-b+c)>0 then (a-b+c) end) as sumAbc
from hacchu_tbl这个sql可以正常执行,但是我要求这个sumAbc的和,所以这样写了,但是出错,为什么?
没有这种语法么?select
SUM((case when
      (a-b+c)<=0 then 0 
      when 
      (a-b+c)>0 then (a-b+c) end) as sumAbc) AS Sums
from hacchu_tbl
group by HAC_HINCD, HAC_LSKCD, HAC_LSOKCD, HAC_KAKU

解决方案 »

  1.   


    select 
    (case when 
          (a-b+c) <=0 then 0 
          else
          (a-b+c) end) as sumAbc 
    from hacchu_tbl 
      

  2.   

    谢谢你的回复,但是我要求sumAbc的和   :)
      

  3.   

    select case when (a-b+c) <=0 
                then 0 
                when (a-b+c)>0
                then sum(a-b+c) 
            end as sumAbc 
    from hacchu_tbl 
      

  4.   

    两个AS...去掉一个.
    select
    SUM((case when
          (a-b+c) <=0 then 0
          when
          (a-b+c)>0 then (a-b+c) end) ) AS Sums
    from hacchu_tbl
    group by HAC_HINCD, HAC_LSKCD, HAC_LSOKCD, HAC_KAKU 
      

  5.   

    楼上的不行,
    加了group by 条件,但是提示说不是group by 形式
      

  6.   

    select Sum(a - b + c) as sumAbc
    from hacchu_tbl
    where (a - b + c) > 0
      

  7.   

    Garnett_KG ,谢谢你的回复  :)这个方法可以执行