SQL数据库表的更新问题

update表1setbalance=balance+(selectamountfrom表2wherecardnumber='111111'andcardclose='1... update 表1
set balance=balance+(select amount from 表2 where cardnumber='111111' and cardclose= '111111' and estate='可充值')
where account='1111111111111111111' and account.estate='正常'

当中间这句select amount from recharge where cardnumber='111111'and cardclose= '111111' and estate='可充值')不成立时 表1竟然还能更新?直接把表1中balance这个字段值该为了NULL!! 请问如何避免?就是当条件不成立时表1中的balance值不变
recharge表就是表2
展开
 我来答
alex_hy
2011-04-29 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2601
采纳率:100%
帮助的人:1032万
展开全部
update 表1
set balance=balance+amount
from 表2 where 表2.cardnumber='111111' and 表2.cardclose= '111111' and 表2.estate='可充值'
and 表1.account='1111111111111111111' and 表1.estate='正常'

按你的写法,表2条件不成立,子查询取出来值为null,自然更新成空了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
华天软件
2025-03-05 广告
华天软件PDM近30年实施经验,服务客户数千家,功能完善,提高设计复用率,降低研发成本40%,实现跨部门信息共享+无纸化研发+缩短产品研发周期+降低成本,为企业构建数字化智能制造全面应用,打好坚实基础,加速企业数字化转型,更多资料详情咨询4... 点击进入详情页
本回答由华天软件提供
哎呀……18a91a6
2017-10-16 · TA获得超过4.2万个赞
知道大有可为答主
回答量:7246
采纳率:76%
帮助的人:3183万
展开全部

在SQL Server中有效,其它的数据库中语句可能会有不同,处理原理一样:

set  
balance=
balance+ISNULL(
(select amount from 表2 where cardnumber='111111' and cardclose= '111111' and estate='可充值')
,'')
where 
account='1111111111111111111' 
and account.estate='正常'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-08-05
展开全部
update TableA set NameSpell=dbo.fn_GetPinyin(name) UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bdwkzhbb
2017-10-24 · TA获得超过658个赞
知道小有建树答主
回答量:588
采纳率:84%
帮助的人:213万
展开全部
可以用case when语句
balance=balance+(select case when amount is null then 0 else amount end from 表2 where cardnumber='111111' and cardclose= '111111' and estate='可充值')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蓝灵飘雪
2011-04-29 · TA获得超过266个赞
知道小有建树答主
回答量:313
采纳率:0%
帮助的人:256万
展开全部
是不是不成立时,你的语句变成了balance+null?
你在后面做一个类似isnull为0的判断呢。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式