UPDATE 表1 SET address=(SELECT 表2.address from 表2 WHERE 表2.name=表1.name)
上面的语句非常简单,很容易明白,语句工作时,扫描表1的所有记录,对于每一条记录,按照name去查找表2的address并替换本表此字段。
update gzset gz.gz_name=gr.gr_name
from gz , gr
where gz.gz_ygid=gr.gr_ygid
这种写法,在 SQL Server 下面可以运行, 在 MySQL 下面是运行不了的。
你可以创建一个 视图,来关联这2个表,然后通过更新 视图的方式,来更新表。
具体的例子,请查看参考资料中的 mysql 的例子代码。
按照描述这么写:
update 表名 t1set t1.name=(
select name from 表名 t2
where t2.pid=t1.pid and t2.name is not null and rownum=1
)
where t1.name is null
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)