update语句如何实现二表之间修改特定条件的值?

我有二个结构相同的表,表A和表B,字段均有ID和NUM,其中A表中有可能存在二行ID一致,但NUM值不一样的值,并且其中一个NUM必为0。表B中ID唯一。如何通过语句实现... 我有二个结构相同的表,表A和表B,字段均有ID和NUM,其中A表中有可能存在二行ID一致,但NUM值不一样的值,并且其中一个NUM必为0。表B中ID唯一。如何通过语句实现把表B中的NUM值赋值给表A中NUM不为零呢?
比如:
表A ID NUM
1 0
1 1
2 1

3 1
3 0
表B ID NUM
1 10
2 22
3 12
要得到的结果是:
表A ID NUM
1 0
1 10(取表B)
2 22(取表B)

3 12(取表B)
3 0
展开
 我来答
windy_hz
2012-12-13 · TA获得超过1452个赞
知道小有建树答主
回答量:397
采纳率:100%
帮助的人:375万
展开全部
update A

set NUM=(select B.NUM from B where B.ID = A.ID)
where exists (select 1
from B

where B.ID = A.ID

)
and A.NUM <> 0;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式