请大家帮忙看看这句话中有没有问题
case a.value when a.id=386 then (a.value where a.id=363-a.value where a.id=362)
             when a.id=15000 then (a.value where a.id=407+a.value where id=789 - a.id where a.id =408-a.value where a.id=790)
             else a.value end 

解决方案 »

  1.   

    看看case when 的基本用法,http://wenku.baidu.com/view/78d6e7ea81c758f5f61f6701.html
      

  2.   

    case when A=6 then 'Y' else 'N' end  这是常规用法。
    楼主的 实在耐人寻味这么多where 
      

  3.   

    我要的结果是 当a.id=386时,a.value=两个value值的差
                a.id=15000时,a.value的值为四个value值的加减结果
             其他id值时,a.value=a.value
      

  4.   

    请问一下where后面的这些判断条件该怎么表达
      

  5.   


    我要的结果是 当a.id=386时,a.value=两个value值的差
                a.id=15000时,a.value的值为四个value值的加减结果
             其他id值时,a.value=a.value
      

  6.   

    a.value=case when a.id=386 then 你的计算差的方法 when a.id=15000 then四个value值的加减结果 else a.value end
      

  7.   


    a.value=case when a.id=386 then 你的计算差的方法 
    when a.id=15000 then 四个value值的加减结果 
    else a.value end 
      

  8.   

    请问then后面value值的条件怎么表达,比如a.value where a.id=386,where语句该怎么表达呢
      

  9.   

    a这个表中的字段有id、value等,现在想处理value字段的值
      

  10.   

    case when a.id=386 then (select a.value from a where a.id=363)-(select a.value from a where a.id=362)
         when a.id=15000 then (select a.value from a where a.id=407)+(select a.value from a where a.id=789) -(select a.value from a where a.id=408)-(select a.value from a where a.id=790)
       else a.value end  from a
      

  11.   

     (select a.value from a where a.id=363)-(select a.value from a where a.id=362)会报语法错误
      

  12.   

    不要告诉我你语句最前面没加select,不然应该没问题的。
      

  13.   

    13楼的写法没问题,确实如果报错,那就是select 没写,试试:
    select case when a.id=386 then ((select a.value from a where a.id=363)-(select a.value from a where a.id=362))
          when a.id=15000 then ((select a.value from a where a.id=407)+(select a.value from a where a.id=789) -(select a.value from a where a.id=408)-(select a.value from a where a.id=790))
        else a.value end  from a