求教SQL高手,用UPDATE怎么把一个表里的某列数据用另一个表内的数据更新掉?

有table1中 rkrq,bm,xcsl,cgj
table2中bm,cgj
两个表中bm(编码)对应,表一中根据rkrq(入库日期)不同,cgj(采购价)有很多,怎么把表一中按rkrq最晚的cgj过滤出来,然后表2中cgj按这个更新

select max(rkrq)rkrq ,bm into #a from table1 group by bm

update t1
set t1.cgj=t2.cgj
from table2 t1,(select a.* from table2 a ,#a b where a.bm=b.bm and a. rkrq=b.rkrq) t2
where t1.bm=t2.bm
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-20
update tablea set column1 = (select column2 from tableb where tablea.column3 = tableb.column4)
自己再研究研究。
第2个回答  2012-06-20
用这此sql 可以实现
update table1 t
set t.cgj =
(select b.cgj from table2 b where t.bm = b.bm)
where t.rkrq = (select max(c.rkrq) from table1 c where c.bm = t.bm)追问

我要更新的是table2 中的cgj,rkrq是table1的,那是不是要把上面的语句table1和2换换?

UPDATE语句:将一个表里的字段更新到另一个表的字段里的语句
UPDATE语句是SQL中一种强大的工具,允许我们更新数据库中的数据。在某些场景下,我们可能需要将一个表中的字段更新为另一个表的对应字段。例如,在一个成绩查询系统中,可能需要修改一张表,增加一个字段,然后将另一个表的特定ID复制过来。此时,编写循环处理可能并不高效,使用SQL语句则更为简便。考虑...

sql update语句 一张表的数据更新到另一张表
在数据库操作中,SQL的UPDATE语句用于更新表中的数据。当您需要将一张表的数据更新到另一张表时,可以使用JOIN操作将两个表连接起来,并根据特定条件进行数据迁移。例如,假设您有两张表:tbl_1 和 tbl_2。在这两个表中,表tbl_1的类别字段和表tbl_2的物料组描述字段值相同,您希望将表tbl_2的...

求sql语句!在同一表中,如何根据一列包含的内容,替换另一列的数据?
数据量大时,则用模糊匹配 update 表名 set 县域名称=地址 where 县域名 like '%市'

MYSQL数据库update select 把一个表中的数据该为另一个表中的数据
1、update b,a set num3=a.num1-a.num2where b.name1=a.name2。2、UPDATE 表A SET name=(SELECT id FROM 表B WHERE 表B.name=表A.name)。3、有两个表,table1,table2 , table1 是table2的父表,两个表组合起来形成记录,现在Table2有四条记录,经过SQL语句查询,这四条...

oracle触发器,update一张表时,将update的那一行数据中的部分值更新到...
1、首先创建测试的原表A。2、插入原表A测试数据,执行完SQL后,记得点击commit按钮,否则,数据不会持久化到数据库。3、【创建表结构与数据】此处不需要commit动作。4、【同字段仅数据】。5、【不同字段仅数据】,执行完SQL后,记得点击commit按钮,否则,数据不会持久化到数据库。6、最后效果如下图...

sql怎么把一个表中字段的部分内容替换成另一个表字段的内容
mysql可以用以下方法 -- tableb 通过 aid 关联tablea 的id,把tableb的fielda字段写入tablea的fielda字段UPDATE tablea SET fielda = (select fielda from tableb where tablea.id=tableb.aid)-- 关联方式一样,把tablea中fielda的字段中的特定字符串替换成tableb中指定字段的值update tablea ...

MYSQL数据库update select 把一个表中的数据改为另一个表中的数据,怎么...
注:数据库是用ACCESS ,(是不是可以象ORACLE 那样select count(*) count from db 来查询,或者可以有 select rownum from db 这样查询)。4、可以使用CONCAT函数,还要使用ifnull判断是否空 update xxx set a=CONCAT(ifnull(b,''),ifnull(c,''),ifnull(ADDRESS_TOWN,'')) ;

...把一个数据表的第一行的某一列的值更新到另一个表中去,SQL语句怎么...
更新第一行 UPDATE 表1 SET 字段1=表2.字段1,字段2=表2.字段2 FROM 表1 INNER JOIN 表2 ON 表1.关键字=表2.关键字 WHERE ID=1 更新某一列行 UPDATE 表1 SET 字段=表2.字段 FROM 表1 INNER JOIN 表2 ON 表1.关键字=表2.关键字 ...

sql语句 将同一个表中的其中一个字段的一部分替换成这个表中的另一个...
如果要替换的房号是固定格式以及长度,如要替换的XXXXX左面长度为12(包括两个'-')则语句如下:update t_she_room set fnumber=left(fnumber,12)+ froompropno 如果要替换的XXXXX是固定长度如5位,也可以这样写 update t_she_room set fnumber=left(fnumber,len(fnumber) - 5) + froompropno ...

SQL 根据某表一列数据修改 另外一张表某列的数据
SQL 根据某表一列数据修改 另外一张表某列的数据 采用自然连接的方法,如下 :update 表二 set 表二.D=表一 from 表一,表二 where 表一.A=表二.A

相似回答