[本文出自:https://www.jb51.net/article/150323.htm] 这篇文章主要介绍了如何使用MySQL一个表中的字段更新另一个表中字段,需要的朋友可以参考下 1,修改1列 ? 1 2 3 update student s, city c set s.city_name = c.name where s.city_code = c.code; 2,修改多个列 ? 1 2 3 update a, b set a.title=b.title, a.name=b.name w…
一.排名 /*普通排名:从1开始,顺序往下排*/ AS rank ) r ORDER BY score; /*并列排名:相同的值是相同的排名*/ SELECT cs.* , CASE WHEN @p=score THEN @r END rank ,@p:=NULL)r ORDER BY score; /*并列排名:相同的值名次相同,与上例中的并列排名不同*/ SELECT city,score,rank FROM ( SELECT cs.*, @c:=IF(@p=score,@c,@r) AS…
案列: 想更新A表的name字段,由于失误,在写这个表的时候,这个字段没有写,发现的时候,已经写了一个多月的数据了.改了之后的过程,会正常的写这个字段, 可是已经写了的数据也不能铲了,重新计算. 好在A表的name是可以从B表通过code关联查出来的. 于是,就有了下面这句sql. update table_a a set a.name= (select bname from table_b b and a.name is null); ORACLE 实用案列…
1. 写法轻松,更新效率高:update table1 set field1=table2.field1,field2=table2.field2from table2where table1.id=table2.id 2. 常规方式,种写法相当于一个 Left join, 以外面的where为更新条数,如果不加where就是所有记录 update table1set field1=(select top 1 field1 from table2 where table2.id=table1.i…
1. 写法轻松.更新效率高: update table1 set field1=table2.field1, field2=table2.field2 from table2 where table1.id=table2.id 2. 常规方式,种写法相当于一个 Left join, 以外面的where为更新条数,假设不加where就是全部记录 update table1 set field1=(select top 1 field1 from table2 where table2.id=tab…
update a left join c on a.id = c.id set a.body = c.c1 where a.id=c.id; update zcat as z left join zcat_bak_1212 as zb on z.zcatId = zb.zcatId set z.zcatName = zb.zcatName where z.zcatName is null;…