SQL查询,查询表A和表B的相同id的value值,修改表A中的value中,具体如下图 2C

表A如下
表A图片说明

表B如下
表B图片说明

在表B中查询和表A中**id相同的value值** 如图查询后的表A内容
执行后的表A图片说明

sql应该怎么写?

sql

6个回答

什么数据库?Oracle和MySQL对于多表关联update的方式还是不一样的,而且最后一个截图中的第一行为什么value是DFabc,不应该是DF吗?
你的问题难道不是“a、b两表全连接然后相同ID的value连接起来update a表”吗?

csdnwangjianxin
王建新 对是DF,图错了。。。。
2 年多之前 回复

表 B 中没有跟 表 A 对应 ID 的数据,你确定你给的结果集对么?

update a,b set a.value = concat(a.value, b.value) where a.id = b.id

Amo_lt
Amo_lt 感觉你是对的
2 年多之前 回复

select a.id,concat(a.value, b.value) from a,b where a.id = b.id

将表a和表b id一样的的value改成和表b一样
update a set a.value=b.value from a,b where a.id=b.id

不知道你的数据库支不支持merge into 这个用法
merge into a
using b
on ( a.id=b.id)
when matched then
update set a.value = concat(a.value, b.value)
when not matched then
insert values(b.id,b.value)

u010024904
xiao_calun 我刚刚那个写法,mssql oracle都是支持的,比较类似。
2 年多之前 回复
 $query="select a.id, a.value,b.value* from A as a left join B as b on a.id=b.id where 1";

 $result = mysql_query($query);
 //框架用惯了原生态忘记怎么写了,口述吧


 查出来满足条件的全部数据再循环修改A表





Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问