日期:2014-05-18  浏览次数:20519 次

多次update表的问题
模型如下:

tbl表的字段如下
date             A     B     C
-------------------
2007-1-1     1     2     3
2007-1-2     2     6     8
2007-1-3     2     9     3
2007-1-4     5     7     3
2007-1-5     1     1     0
2007-1-6     2     7     8
.........

现在要修改C列的数据,要求:
update   tbl   set   C   =   A+B   where   date   <2007-1-3
update   tbl   set   C   =   A-B   where   date   =2007-1-3
update   tbl   set   C   =   A*B   where   date   > 2007-1-3
......
请问能否把这样的多个update语句合在一个语句里完成?允许把 "C   =   A+B "、 "C   =   A-B "、 "C   =   A*B "放在一张临时表里做关联

------解决方案--------------------
用if 語句試試!
------解决方案--------------------
update tbl set C =
case when date <2007-1-3
then A+B when date =2007-1-3
then A-B when date > 2007-1-3
then A*B end