两个关联表根据一个表的值批量更新另一个表的值的sql语句怎么

如下

上面数据只是例子,数据很多,希望能一条sql 搞定

第1个回答  2014-04-08
update b set b.text=a.No from (select id,max(no) No from a group by a) a inner join b on a.id=b.id追问

第2个回答  2014-04-08
提问有误,表述不清晰!谢谢
第3个回答  2014-04-08
没有太看明白,你到底要修改哪个值,改为什么?追问

追答

晕,你的年龄的值在哪儿呢?


如果是直接修改,那只能一条一条修改:


update b set age = 20 where exists (select 1 from a where a.id = b.aid and a.name = '李四');
update b set age = 22 where exists (select 1 from a where a.id = b.aid and a.name = '王五');
update b set age = 25 where exists (select 1 from a where a.id = b.aid and a.name = '赵六');

追问

谢谢,请问下 如果用case when ..then 或者写函数行么?

追答

应该是可以写函数或者存储过程的。

本回答被提问者采纳

两个关联表根据一个表的值批量更新另一个表的值的sql语句怎么
update b set b.text=a.No from (select id,max(no) No from a group by a) a inner join b on a.id=b.id

两个表,根据条件批量更新其中一个表的某一列数据。(高分求救,在线等待...
批量更新的语法是这样 update a表 set a.filed=(select field from b表 where b.关联字段=c.关联字段) from b表, c表 where b.关联字段=c.关联字段 and 其他条件 欢迎你加入.NET俱乐部QQ群:2613338

SQL里面的UPDATE更新语句数据怎么写?
update PRDT set PRD_NO=REPLACE(PRD_NO,'AD','AE')

sql可以两个表一起更新数据吗
如果两个表有关联的话是可以的,比如A表的id和b表的b_id外键关系就可以 update a left join b on a.id = b.b_id set a.name = '',b.name='' (where条件)

mysql 怎么写sql同时更新多个id的字段值,比如 id为1和2,怎么同时更新...
一个id的这样更新:update 表 set 字段1=新值,字段2=新值 where id=1 多个id的建议excel里做好,导入到DB中成为新表,再关联这2张表批量更新:update 表1 set 字段1=b.新值,字段2=b.新值 from 表1 a, 表2 b where a.id=b.id ...

在Oracle中怎样用一张表去Update另一张表
1、如果T_USER表中的一个USER_ID在T_NAME_MAP 表中存在两条以上的记录,则该语句会报错。因为Oracle是无法辨别你要“更新”哪一条的。当然,从纯技术的角度来看,这种情况也是可以处理的,你可以在B.NEW_NAME 上加一个函数,如MAX(B.NEW_NAME ).2、WHERE EXISTS 语句绝对不可以省略,有了这个...

access 中如何实现两个数据表比较后批量更新其中一张表
窗体上添加一个按钮,然后中按钮的单击事件中写入下面的代码:' 先添加3个字段 CurrentDb.Execute "ALTER TABLE 表B ADD COLUMN 姓名 TEXT;"CurrentDb.Execute "ALTER TABLE 表B ADD COLUMN 性别 TEXT;"CurrentDb.Execute "ALTER TABLE 表B ADD COLUMN 学历 TEXT;"' 然后更新查询 CurrentDb.Execute...

ORACLE数据库用PLSQL如何批量更新表里的某个字段的内容为文字加上另外...
可以用以下SQL试试,如果有一对多的情况在b.name=a.name后面加个 and rownum=1:upddate table_a a set a.lname =(select '前缀字符串'||b.lname from table_b b where b.id=a.id and b.name=a.name)

SQL中如何批量更新表中的记录
值];如果是根据一个表更新此表,套用如下方式:update[表名]set[字段名]=(select[字段名]from[其他表]where[两表间的关联条件])。刚测试过了。updateproductssetsell=(selectsellfromtable2wheresn=aa)wheresn=aa既然你能确定SN是唯一的,那就可以用上边这个。你更新数据,这样应该有两个表吧。

SQL如何批量更新数据
如果更新的内容是一样的直接写一个sql语句全部更新掉就好了 比如:update 表名 set 更新字段1='需要被更新成的值',更新字段2='需要被更新成的值' where 更新的过滤条件 总体的语法是关键字update 表名 set 更新的字段名='更新内容',...如果多个字段可以使用逗号分隔。更新的关键是找到更新内容的...

相似回答