SQL的update语句中,可以让要update的表里的数据与另外的一个表里的数据进行运算吗 30

比如说,我有个a表里面有个int型的属性a,有个b表,里面也有个int型的属性b,两个表没有任何联系,我想进行操作updateaseta=a*b,b这个操作可以做吗,为什... 比如说,我有个a表里面有个int型的属性a,有个b表,里面也有个int型的属性b,两个表没有任何联系,我想进行操作
update a
set a=a*b,b
这个操作可以做吗,为什么我一运行就提示我找不到b.b呢,要怎么样写才能实现这个操作
展开
 我来答
ahdung
推荐于2017-12-16 · TA获得超过609个赞
知道小有建树答主
回答量:323
采纳率:100%
帮助的人:265万
展开全部

两表必须有关联,不然你a.a要与b.b的哪一行进行计算?依据何在?有了关系,比如id,就可以如下:

update a
set a.a *= b.b
from a
join b on a.id=b.id

 如果原表实在没有关联,你只想让行与行关联,那就要人为制造关联,比如分别给a、b用row_number加上行号,形成派生表aa和bb,然后对aa进行update,一样可以更新到a。

ws龙卷风
2016-01-15 · TA获得超过232个赞
知道小有建树答主
回答量:134
采纳率:85%
帮助的人:70.2万
展开全部
可以的。
示例如下:update tablenameA set A=(A*(select B from tablenameB where 条件) ) where 条件;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尚子素
2016-01-22 · TA获得超过600个赞
知道小有建树答主
回答量:566
采纳率:33%
帮助的人:198万
展开全部

可以,比如可以这样:

加上From  ,From后面和其他表可以像Select语句那样写,但只能更新一个表的数据,不允许同时更新多表数据

UPDATE a SET a.a=a.a*b.b FROM a,b
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冬未萧
2016-01-25 · TA获得超过265个赞
知道答主
回答量:145
采纳率:100%
帮助的人:47.6万
展开全部
两个有关系的表示可以的,UPDATE TABLE1 SET TABLE1.AA=TABLE1.BB*TABLE2.CC FROM TABLE1 LEFT OUTER JOIN TABLE2 ON TABLE1.XX=TABLE2.XX,基本是这个样式,from后面是建立两个表的关联关系,你这个没办法写关联关系的表应该不行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式