SQL 用一个表的数据更新另一张表

用表B的数据(B1列,B2)更新表A的A1,A2列

SQL Server:

update A SET A.A1 = b.B1,A.A2=B.A2 FROM A ,B WHERE  A.ID1 = B.ID1 and A.ID2 = B.ID2;

Access:

update A, B  set A.A1 = B.B1,A.A2=B.B2 where A.ID1 = B.ID1 and A.ID2 = B.ID2;

--或

update A INNER JOIN B ON A.ID1 = B.ID1 AND A.ID2= B.ID2 SET A.A1 = B.B1,A.A2=B.B2;

原文地址:https://blog.51cto.com/alun51cto/2392062

时间: 2024-10-14 08:59:18

SQL 用一个表的数据更新另一张表的相关文章

SQL Update实现使用一个表的数据更新另一张表

表结构 功能 SQL Serevr Access 表结构 功能 用表B的数据(mc列)更新表A的mc列 SQL Server语句 update A SET A.mc = b.mc FROM A ,B WHERE A.bmbh = B.bmbh and A.xmbh = B.xmbh; Access语句 update A, B set A.mc = B.mc where A.bmbh = B.bmbh and A.xmbh = B.xmbh; 或者 update A INNER JOIN B ON

SQL Update:使用一个表的数据更新另一张表

表结构 功能 用表B的数据(mc列)更新表A的mc列 SQL Server update A SET A.mc = b.mc FROM A ,B WHERE A.bmbh = B.bmbh and A.xmbh = B.xmbh; Access update A, B set A.mc = B.mc where A.bmbh = B.bmbh and A.xmbh = B.xmbh; 或 update A INNER JOIN B ON A.bmbh = B.bmbh AND A.xmbh =

SQL Server更新表(用一张表的数据更新另一张表的数据)

a) 写法轻松,更新效率高: update table1 set field1=table2.field1,field2=table2.field2 from table2 where table1.id=table2.id b) 常规方式,这种写法相当于一个 Left join, 以外面的where为更新条数,如果不加where就是所有记录 update table1 set field1= (select top 1 field1 from table2 where table2.id=ta

Mongo基于一张表的数据更新另一张表

业务场景中,经常有这样一个需求,就是根据A表中的信息,更新B表的某个字段,在关系型数据库中,这个需求很简单,一条SQL搞定: update B set B.f1=A.a1 where xxxx 但在mongo数据库中,一条SQL就解决不了.好在mongo支持js脚本,可以通过js写类似于存储过程的方式实现.譬如,业务场景中,有一个用户表,一个车辆表,车辆表的状态要汇总到用户表中, var cursor = db.getCollection('vehicle').aggregate([ {$mat

SQL编程实例:Access数据库,两张表的统计,count、sum聚合函数的使用,iif的使用,group by的使用

小媛在努力 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 在多媒体数据处理中,数据压缩算法尤为重要.小媛上完课后就想自己发明一个数据压缩算法.她想呀想,终于想到一个方法.在多媒体数据中有很多数据都是重复的,所以她想把连续相同的数据用数据出现的次数和数据本身表示.例如:1 1 1 2 3 3 3 3 3  压缩后及为3 1 1 2 5 3(表示3个1,1个2和5个3).有想法后小媛就希望把它用代码实现了.但是大家都知道小媛现在整天都忙着苦B的复习考研,连电脑都摸不到

Sql从一张表中更改另一张表数据

语法: update table1 set table1.列=table2.列 from table2 where table2.列=table1.列update NFYSP.dbo.PATIENT     setPATIENT_ADDUSERID=OLD.PATIENT_ADDUSERID,PATIENT_UPDATEUSERID=OLD.PATIENT_UPDATEUSERID,PATIENT_UPDATEUSERNAME=OLD.PATIENT_UPDATEUSERNAME,PATIENT

一张表数据分到几张表性能优化

最近在做一个银行项目,从一张表(CCB_CREDIT_TRX)里要往七.八张表写数据, 一开始的做法是把这张表对应的实体select出来,放到一个List集合中,再对这个LIST List<CcbCreditTrx> list = new ArrayList<CcbCreditTrx>;//对这个List遍历for(CcbCreditTrx ccbCreditTrx:list) { //这里处理对其他表的操作 //表A .... //表B .... //表C .... } 建议做法

Oracle两张表关联批量更新其中一张表的数据

Oracle两张表关联批量更新其中一张表的数据 方法一(推荐): UPDATE 表2 SET 表2.C = (SELECT B FROM 表1 WHERE 表1.A = 表2.A) WHERE EXISTS (SELECT 1 FROM 表1 WHERE 表1.A = 表2.A); 尤其注意最后的外层where条件尤为重要,是锁定其批量更新数据的范围. 方法二: MERGE INTO 表2 USING 表1 ON (表2.A = 表1.A) -- 条件是 A 相同 WHEN MATCHED TH

查询在一张表不在另外一张表的记录及效率探究

在我做项目的时候遇到一个需求,要将存在于表ta而不存在于表tb中的数据查询出来. 记录使用的方法和探讨效率. 数据准备 创建表ta,并且使用存储过程插入13000条数据,在我的机器上运行时间: 346.719s.如果觉得插入的速度比较慢,可以直接导入我建好的表,百度云地址 http://pan.baidu.com/s/1dFtovg1 ,里面已经有数据了,直接导入sql执行即可,这样比用存储过程要快很多. DROP TABLE IF EXISTS ta; CREATE TABLE `ta` (