请教一条Case语句的写法,大家来试试看
Sun Solaris, DB2 V8.1
我有一条语句是这样的
Update T1 Set F1 = (
Case
When T1.F2 - (Select Sum(T2.F2) from T2 Where T1.F3 = T2.F3) > 0 Then 1
When T1.F2 - (Select Sum(T2.F2) from T2 Where T1.F3 = T2.F3) < 0 Then -1
Else 0
End
) Where T1.F5 = 0;
问题就在
Case
When T1.F2 - (Select Sum(T2.F2) from T2 Where T1.F3 = T2.F3) > 0 Then 1
When T1.F2 - (Select Sum(T2.F2) from T2 Where T1.F3 = T2.F3) < 0 Then -1
Else 0
End
上,我觉得这样写了太复杂。Case 语句还有另外一个写法
Case
T1.F2 - (Select Sum(T2.F2) from T2 Where T1.F3 = T2.F3)
When >0 Then 1
When <0 Then -1
Else 0
End
后一种写法的意思就是那样,但是具体应该怎么写呢?
谢谢