sql语句2个字段相减

表名info现在有字段ab2个字段ab存储的数据类型都为int现在进行数据操作如果a比b的数值大则a-b如果b比a的数值大则b-a求更新所有数据的sql语句比如最后结果如... 表名 info
现在有字段 a b 2个字段
a b 存储的数据类型都为int
现在进行数据操作 如果a比b的数值大 则a-b 如果b比a的数值大 则b-a
求更新所有数据的sql语句
比如 最后结果如 下
a b a b
12 6 6 0
8 15 0 7
5 8 0 3
展开
 我来答
lzm_君临天下
2018-07-26 · 知道合伙人软件行家
lzm_君临天下
知道合伙人软件行家
采纳数:68 获赞数:416
毕业于武汉纺织大学工程系

向TA提问 私信TA
展开全部
如果整张表的某个number字段都要减10,如下
update table set number字段= number字段- 10
如果只把number字段= 1000的减10,如下
update table set number字段= number字段- 10 where number字段= 1000;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yanxiao410
2012-09-04 · TA获得超过1583个赞
知道小有建树答主
回答量:928
采纳率:0%
帮助的人:548万
展开全部
select (case when a>b then a-b else b-a end) from info
更新那个字段
update info
set [字段]=(case when a>b then a-b else b-a end)
追问
好像不能更新啊  我意思能不能2列 同时更新  就像我给的图一样
追答
那就分成两个写嘛 
update info
set a=a-b
,b=0
where a>b
update info
set b=b-a
,a=0
where b>a
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qbowen
2012-09-04 · TA获得超过165个赞
知道答主
回答量:203
采纳率:0%
帮助的人:164万
展开全部
select case when a>b then a-b
else b-a end
from c
追问
更新所有数据。
追答
update infro set col=(case when a>b then a-b else b-a end)
col就是你要更新的字段
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
憋不住事儿
2012-09-04 · TA获得超过603个赞
知道小有建树答主
回答量:570
采纳率:85%
帮助的人:161万
展开全部
不知道你要更新哪一列,用列名代替,
update info set 列名=(case when a>b then a-b else b-a end)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式