现有2个表,分别为:
data_1014(data_id,fd64)
data_1018(data_n_id,data_id,fd70)
说明:
1、data_1018中的data_id等于data_1014中的data_id
2、data_1014中的data_id是唯一的,不重复。
3、data_1018中的data_id是重复的,有多条。
子查询有多条数据
UPDATA DATA_1018 SET FD70 = (SELECT FD64 FROM DATA_1014)
只要是data_1018的data_id=data_1014的data_id,那么就update更新 fd70=fd64。
用ifnull函数判断查询的结果是否为空,为空则设置为原来的值,否则修改。
UPDATA DATA_1018 t1 SET FD70 = ifnull((SELECT FD64 FROM DATA_1014 where t1.data_id=data_id),FD70);
你罗里吧嗦的说了半天,最重要的匹配条件没说清楚
到底原始数据什么结构,你想要什么结构
很可能根本不需要update,直接过滤掉你不要的数据,只显示你要的数据,不就得了
代码如下我,望采纳
update data_1018 table3
left join (SELECT table1.data_id,table2.fd64 FROM data_1018 table1 inner join data_1014 table2 on table1.data_id= table2.data_id ) table4
on table3.data_id = table4.data_id
SET table3.fd70 = table4.fd64