请教一条Case语句的写法,大家来试试看

Auto_And_Elec 2004-09-16 11:23:56
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
后一种写法的意思就是那样,但是具体应该怎么写呢?

谢谢
...全文
104 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
shangfeng1204 2004-09-29
  • 打赏
  • 举报
回复
只能判断一个具体值
jlwei888 2004-09-17
  • 打赏
  • 举报
回复
好像不行啊

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧