www.5213.net > upDAtE语句可以关联其它表吗

upDAtE语句可以关联其它表吗

update语句可以关联其他表。 如两个表数据分别如下: 表1: ID NAME SOCRE 1 张三 100 2 李四 90 3 王五 80 表2: ID NAME SOCRE 1 张三 98 2 李四 70 现在要按照表2中ID和表1一致的将SCORE改成表2中的值,可用如下语句: update 表1 set SCORE=...

两种方法:-- 方法1.UPDATE 表2SET 表2.C = (SELECT B FROM 表1 WHERE 表1.A = 表2.A)WHERE EXISTS ( SELECT 1 FROM 表1 WHERE 表1.A = 表2.A) -- 方法2MERGE INTO 表2 USING 表1ON ( 表2.A = 表1.A ) -- 条件是 A 相同WHEN MATCHED THEN UPDATE ...

update table1 a set a.c = (select b.b from table2 b where a.a=b.a)另外,如果在a.a=b.a的情况下,如果b.b有多个值的话也会报错 这个时候,你可以考虑用b.b的最大值或最小值 update table1 a set a.c = (select max(b.b) from table2 b where...

两表必须有关联,不然你a.a要与b.b的哪一行进行计算?依据何在?有了关系,比如id,就可以如下: update aset a.a *= b.bfrom ajoin b on a.id=b.id 如果原表实在没有关联,你只想让行与行关联,那就要人为制造关联,比如分别给a、b用row_number...

oracle吧, sqlserver支持update from的语法 比如: update a set a.value = b.data from b where a.id = b.id可以看出,其实a和b做了一次内连接; 而oracle不支持update from的语法,那再来看看oracle的写法: update a set a.value = (select ...

一条语句不行。你是想确保几张表都更新吗?你可以用事务,只要一条执行不成功,就全部不更新。

1. 粗体字部分是B.B1吧?! UPDATE A A SET A.a2=(SELECT B.b2 FROM B B WHERE TRIM(B.a1)=TRIM(A.a1) )WHERE TRIM(A.a1) IN (SELECT TRIM(b1) FROM B) 2.你让你用trim(a.a1) 和 trim (b.a1) 做表连接,那么可以分别做函数索引,再试试 3. 可以...

update可以有join子句,但是不可以同时更新多表 应用update a set a.col=b.col from a join b on a.id=b.id

update 用户余额表 a,银行货币表 b,银行表 c set a.余额=0 where a.b_id=b.id and b.银行id=a.银行id and a.银行名='a';

语句没有语法错误,你用的什么数据库? 有些很早期的数据库,或者是很简单的数据库是不支持多表查询的,比如access97等 你这个在执行的时候有报错吗,你能把执行后的日志打出来吗?

网站地图

All rights reserved Powered by www.5213.net

copyright ©right 2010-2021。
www.5213.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com