请大家帮忙看看这句话中有没有问题
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
------最佳解决方案--------------------
非常乱来的语法,必定报错》。。。你直接说你想要什么结果吧
------其他解决方案--------------------
case when A=6 then 'Y' else 'N' end 这是常规用法。
楼主的 实在耐人寻味。。。这么多where
------其他解决方案--------------------
你的用法有点让人摸不着头脑 给出你的具体问题吧
------其他解决方案--------------------
a.value=case when a.id=386 then 你的计算差的方法 when a.id=15000 then四个value值的加减结果 else a.value end
------其他解决方案--------------------
你问题算法表结构什么的都没说得明白 我不知道怎么表示
------其他解决方案--------------------
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
------其他解决方案--------------------
不要告诉我你语句最前面没加select,不然应该没问题的。
------其他解决方案--------------------
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
------其他解决方案--------------------
看看case when 的基本用法,http://wenku.baidu.com/view/78d6e7ea81c758f5f61f6701.html
------其他解决方案--------------------