mysql两张表(A,B)关联更新,使B表中更新特定标签下的数据

遇见一个问题,就是需要将mysqlB表的数据添加到A表(两个表的数据量在2g左右),如下图
表A<br>
图片说明

表B图片说明
更新后的表格
图片说明
精通mysql的大佬帮帮忙,小弟刚刚使用mysql,不熟悉SQL语句,详细些,谢谢大牛们!

0

6个回答

update 表A as a ,表B as b SET a.pass = b.pass WHERE a.id = b.id

3

标签ID的是和pass一一对应的,需要根据id的数据插入pass,大佬们帮帮忙

1

update 表A as a set a.pass=(SELECT b.pass from 表B as b where b.id=a.id)
where EXISTS (SELECT 1 from 表B as b where b.id=a.id)

1
 update tabA as a inner join tabB  as b  on a.id = b.id set a.pass = b.pass
0

1.在业务代码里面实现,当B表更新时,根据id去更新A中的数据
2.可以用触发器,具体参见:https://blog.csdn.net/HXNLYW/article/details/80650865,触发器是隐藏执行的,所以需要在业务代码处,加上相应的注解,让阅读代码的人知道背后做了什么。

0

select A.id, (isnull(A.pass,0)+isnull(B.pass,0)) as pass from A left join B on A.id=B.id

可以用两个表左连接,然后两列相加

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MySQL面试题(四)
上一篇文章介绍了MySQL高性能索引,本文将介绍MySQL的SQL语句编写。首先看一道真题有A(id,sex,par,c1,c2),B(id,age,c1,c2)两张表,其中A.id与B.id关联,现在要求写出一条SQL语句,将B中age&amp;gt;50的记录的c1,c2更新到A表中同一记录中的c1,c2字段中考点分析这道题主要考察的是MySQL的关联UPDATE语句延伸考点:MySQL的关联查询语句...
更新两张表中A表A字段与B表A字段相同,把B表B字段更新到A表A字段
user_bind_info_yybh 为表A kh_ydkh 为表B 下面的例子 UPDATE user_bind_info_yybh INNER JOIN (SELECT kh_ydkh.YHBH,kh_ydkh.YYHBH,kh_ydkh.FWMM FROM user_bind_info_yybh JOIN kh_ydkh ON kh_ydkh.YHBH = user_bi
mysql 合并两张无关联表数据,b表中有字段作为a表条件
今天遇到一个问题,就是a,b 两张表,本无外键关联关系,但是a表的某个字段,和b表的某个字段有数值上的关联关系。 举个栗子: table_a taID  minMoney  maxMoney 1            10                 100 2            100              1000 table_b tbID  mone
将A表中的数据更新或插入到B表中 id作为关联
--------更新------- 方法一:子查询更新 update B set  name=(select name from A where id=B.id),  sex = (select sex from A where id=B.id) 方法二:游标更新 declare @id int declare @name nvarchar(50) declare @sex int
update 把两个表关联后把B表一列的值更新A表的某一列
执行update语句把两个表关联后把B表的一列更新A表中的某一列,     语句如下:     update   a     set   a.pd_mobile_phone   =   (select   g_telephone   from   b   where   G_idcode   =   a.pd_idcard_no)     where   exists   (select   1 
SQL两表匹配,将A表的指定字段所有内容根据条件更新B表指定字段的所有内容
 <!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->t1id name1 我2 你3 他4 她t2id des1 偶然间水立方我是你的2 苏利文哦她上电缆附件你塑
A、B两张表 获取过滤条件后A表中除了B表中剩余的数据
exist
A、B两表,找出ID字段中,存在A表,但是不存在B表的数据
(转)A、B两表,找出ID字段中,存在A表,但是不存在B表的数据。A表总共13w数据,去重后大约3W条数据,B表有2W条数据,且B表的ID字段有索引。 方法一   使用 not in ,容易理解,效率低  ~执行时间为:1.395秒~ 1 select distinct A.ID from A where A.ID not in (select ID from B)
mysql update 两个表关联{两个关联表如何更新其中一个表的数据}
UPDATE 表A,表B SET 表A.typeid=表B.id where 表A.typename=表B.typenam     与其他数据库不一样的地方!
[Mysql举例]-- mysql向A表插入B表新增数据(即找出2表不同的数据)
一、创建测试表结构 t_basicinfo表结构一: CREATE TABLE `t_basicinfo` ( `id` varchar(36) NOT NULL COMMENT '唯一ID', `name` varchar(45) DEFAULT NULL COMMENT '名称', `type` varchar(30) DEFAULT NULL COMMENT '类型', ...
有两个表A和B,两表结构相同。现在需要将A表中部分行拷贝到B表中。
有两个表A和B,两表结构相同。现在需要将A表中部分行拷贝到B表中。 如果我们直接用 DataTableB.rows.add(dataTableA.rows[0]) 这样的方法式会报"row已经属于A表"这样的错误。 所以我们可以用另外的方法。 方法1,使用dataTable.ImportRow()方法。代码如下:                         //得到A表中的部分
SQL中 将同一个表中的A列更新到B列,B列更新到A列
其实这个不是问题,直接写更新语句即可,可以参考下面动画演示: SQL source code: CREATE TABLE [dbo].[tbl] ( [id] INT, [a] NVARCHAR(10), [b] NVARCHAR(10) ) INSERT INTO [dbo].[tbl] VALUES (1,'123','456') SEL
SQL 两表关联 查询出A表中有但是B表中没有的数据
SQL 两表关联 查询出A表中有但是B表中没有的数据     |字号 订阅 方法1 select * from a where id + name not in (select id + name from b) 方法2 select a.* from a left join b on (a.id=b.id and a.name=b.name) where i
update同一张表同一个字段 行a到行b
update approval_flow_config set content=(select content from (     select content from approval_flow_config where id=81) as t)     where id = 91;
数据库中两张表之间的数据同步实现思路(增加、删除、更新)
分别创建增加、删除、更新的触发器(Trigger)来达到两张表之间数据同步的目的。 1:数据同步增加: 如有两张表——A表和B表,创建触发器使当A表插入数据后B表也同步插入数据。其中B表插入数据的字段需要同A表中的字段相对应。 CREATE TRIGGER 触发器名称 ON A表 AFTER INSERT AS BEGIN INSERT INTO B表(B表字段1,B表字段2,B表字段3
【SQL】查询两张关联table(a.pid=b.id)的数据sql语句
一、表信息: 两张表:bookinfor ; booktype  ---- 图书信息表;图书分类表 建表语句:     1、 CREATE TABLE   BOOKINFOR(id int NOT NULL primary key,pidint NOT NULL,name varchar(50) NULL,count  int NOTNULL); 注释:id--自增;pid--对应
MySQL 多表关联更新及删除
一、      多表关联更新 问题描述:现有tdb_goods表(含有具体信息)和tdb_goods_cates表(没有具体信息),需要查询tdb_goods表的所有记录,并且按"类别"分组,且将分组结果写入到tdb_goods_cates数据表。然后通过tdb_goods_cates数据表来更新tdb_goods表 ² 查询tdb_goods表的所有记录,并且按"类别"分组   SELEC
oracle 查出2张表不同的记录(即A表有,B表却没有)
oracle 查出2张表不同的记录(即A表有,B表却没有)原型:  select *  from t_user1  a    where not exists   (select  *  from  t_user2  b where a.id=b.id );   例子,A表有,苹果,梨,西瓜,香蕉,----&amp;gt;&amp;gt;&amp;gt;&amp;gt; B表有,苹果,梨,香蕉, 查询结果应该是:西瓜。...
Mysql中用表a中数据更新另一表b中数据的同时a的数据被修改
测试使用的隔离级别为Read Repeatable 建表和插入数据的SQL语句 create table test1(id int auto_increment primary key, no int, key(no)); create table test2(id int auto_increment primary key, no int, key(no)); insert
两表关联,取B表满足条件的第一条数据
例如有两个表goods和prices,商品表中的一条商品信息会对应价格表中的多条价格信息,现在要根据商品表查询其商品对应的可用最新的价格,即要满足价格的生效日期必须在商品上市之前,如果有多个价格,就选取最后生效的那个价格。goods:商品表序号商品名称上市日期1iphone62015-10-012iphone62016-08-013iphone62017-09-01prices:价格表序号商品名称...
SQL语句A、B两表,找出ID字段中,存在A表,但是不存在B表的数据
(转)A、B两表,找出ID字段中,存在A表,但是不存在B表的数据。A表总共13w数据,去重后大约3W条数据,B表有2W条数据,且B表的ID字段有索引。 方法一   使用 not in ,容易理解,效率低  ~执行时间为:1.395秒~ 1、 select distinct A.ID from A where A.ID not in (select ID from B)
MySQL中A表数据UPDATE到B表
MySQL中A表数据UPDATE到B表 场景1:表B:id,name,code三个字段均有值;表A :id,name,code 其中id,name有值并且与表B相对应,code值为null。现在将B表中的code值更新到A表中。 方法1:id不能有重复: update t_a a set a.code=(select code from t_b b where b.id=a.id ) ...
mysql 将A表中的数据更新到B表中
UPDATE table_B t1 INNER JOIN (     SELECT         *     FROM         table_A tt     WHERE         tt.order_info_id IN (             SELECT DISTINCT                 order_info_id             FROM      ...
A表字段更新为B表的字段值
A表字段更新为B表的字段值   T1表 结构 id      name       school 1       ming1      清华大学 2       ming2       北京大学 3       ming3       复旦大学   T2表  结构 id      student    school 11     ming1      牛津大学 12  
A表中的数据更新到B表SQL语法-update set from where
下面是这样一个例子: 两个表a、b,想使b中的memo字段值等于a表中对应id的name值      表a:id,name                1       王                2       李                3       张      表b:id,ClientName                1           
A/B表为1对多关系,要求联合查询B表只提取一条与A记录关联的记录
我现在 有主表 A  和从表B  A表字段有:  XM nvarchar2(100), RY_ID nvarchar2(32) B表字段有:  RY_ID nvarchar2(32),  XL  nvarchar2(50), HID NUMBER(7,0) B的RY_ID为外键关联到A表的RY_ID,所以A/B表形成了一对多的关系。 想查询的结果集包括A表中的记录,同时在B
oracle通过两张表的一个字段对应,update其中一张表的某个字段
A、B两张表,通过关联字段复制B表中数据到A表中 update A a set a.A2 = (select b.B2 from B b where b.B1=a.A1) where exists (select 1 from B where B.B1=a.A1) 写成 update A a set a.A2 = (select b.B2 from B b, A c where b.B1=
mysql根据表b更新表a的数据
先将excel导入mysql数据库,参考: https://blog.csdn.net/qq_38666502/article/details/84026601 然后运行: UPDATE sean_t_baojia_new a, test2018 b SET a.SupplierID = b.id WHERE a.Supplier = b.comname AND a.IsDel = 0 ...
A表字段更新为B表字段值
案列场景:更新员工表(sec.sec_staff)的short_name字段值,short_name的值由甲方人员提供(Excel表格)。为实现通过SQL修改,创建临时表sec.sec_staff_temp,sec.sec_staff表结构及Excel详细数据此处略过,sql如下:--1.修改SQL update sec.sec_staff a set a.short_name = ...
mysql单表更新及多表更新
单表更新 多表更新 update `table1` a,`wms1.0_tablename` b set a.grouping=b.grouping,a.size=b.size,a.description=b.description where a.catalog=b.catalog and a.`schema`=b.`schema` and a.name=b.name
mysql 同表 B字段值赋值给A字段 update 语句
mysql 表table_a B字段值赋值给A字段 update 语句 -- 同一个表 UPDATE table_a SET A=(SELECT B FROM (SELECT * FROM table_a) b WHERE b.id = table_a.id) -- 两个表 UPDATE table_a SET A = (SELECT B FROM table_b WHERE table_b...
PHP基于Laravel中取B表中数据(集合)来更新A表数据(集合)
在实际项目中,我们会遇到同时更新数据库中某个表(下称表A)中的多条数据,而更新得内容则需要取自于另外一张表(下称表B),表A和表B都是从数据库中get方式取得的数据,在这种情况下我们可以这么做: // 根据商家Id查找出所有的商品信息    $goodsInfo = Goods::whereIn('shop_id', explode(',', $sidStr))-&amp;gt;get();    ...
A表上百万数据,B库百条数据,查询有B条件的所有A的数据
问题: 问题是这样的,表A 140万条数据,表B 临时表 350条数据, 我现在用这样的查询语句, select * from A where exists (select 1 from B where B.batchno=A.batchno) A,B表靠batchno字段关联,字段类型为varchar(50),其中A表的batchno建了索引 数据库为sql server 2000, 查
sql 中怎么将A表插入B表中,,去除两张 表中含有的重复数据
insert into B(字段列表),select 字段列表 from A  where not exists(select * from B where a.keycol1 = b.keycol1) keycol1为A表和B 表中的字段,可能带有主键,可以此字段来判断A表和B表中是否存在相同的数据,where not exists是作为一个条件来判别从A表往B表中插入的数据不与B表已
mysql通过关联字段同步两张表的字段内容
一、问题说明今天弄数据库的时候需要通过关联字段同步一张表的字段内容到另一张表的字段内容。PS:把一张表中的某个字段内容同步到另一张表的字段,前提条件是两张表要有关联字段。二、解决方法--  mysql通过关联字段key,同步表table_name1的content字段内容—到—&amp;gt;table_name2的content内容字段。 update table_name1 aset a.conten...
oracle数据库A,B表关联更新的问题
有表A如下 | id | code | name | |-1-| 1001 | 张三 | |-2-| 1002 | 李四 | |-3-| 1003 | 李四 | 有表B如下 | id | code | name | |-1-| 1001 | 王五 | |-2-| 1002 | 王二麻子 | |-3-| 1003 | 王三麻子 | ...
更新 将B表的数据更新到A表中的某个字段的sql(根据条件)
update  A set FResponPositionID=(select FResponPositionID from B where A.funitid=B.fid   and B.fisleaf=1 and B.FIsOUSealUp=0 and   B.FResponPositionID 实际过程中: 将T_ORG_OUPartAdmin表中的FResponPositi
mysql update join 实现数据的跨表批量更新
在mysql中update用的很多,一般大家所知道的就是传统的操作,如下: UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET assignment_list [WHERE where_condition] [ORDER BY ...] [LIMIT row_count] 下面给大家介绍一个小例子,实现跨表更新...
Mysql 一条update语句,更新多张表(存在关联的表)
 UPDATE table1     LEFT JOIN table2 ON table1.xx=table2.xx (关联的字段)    SET table1.xx=value,table2.xx=value (update value)WHERE table1.xx=xx (条件)
postgresql 两表更新
update t1 set t1.a=t2.b from t2 where t1.id=t2.id;
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 b站网页制作视频教程 b端产品经理培训