比如说,我有个a表里面有个int型的属性a,有个b表,里面也有个int型的属性b,两个表没有任何联系,我想进行操作
update a
set a=a*b,b
这个操作可以做吗,为什么我一运行就提示我找不到b.b呢,要怎么样写才能实现这个操作
两表必须有关联,不然你a.a要与b.b的哪一行进行计算?依据何在?有了关系,比如id,就可以如下:
update a如果原表实在没有关联,你只想让行与行关联,那就要人为制造关联,比如分别给a、b用row_number加上行号,形成派生表aa和bb,然后对aa进行update,一样可以更新到a。
可以,比如可以这样:
加上From ,From后面和其他表可以像Select语句那样写,但只能更新一个表的数据,不允许同时更新多表数据
UPDATE a SET a.a=a.a*b.b FROM a,b