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问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
A、B两张表 获取过滤条件后A表中除了B表中剩余的数据
exist
a表更新B表
我有两个表的结构和数据如下:rn表一:rn订单号 产品编号 物料编号 库存数rn0001 1254 11212 0rn0001 1254 11213 0rn0001 1254 11257 0rnrn表二:rn订单号 产品编号 物料编号 库存数rn0001 1254 11212 9rn0001 1254 11213 50rnrn我想要的结果是:rn用一条查询语句得到如下结果rnrn订单号 产品编号 物料编号 库存数rn0001 1254 11212 9rn0001 1254 11213 50rn0001 1254 11257 0rn即,以订单号,产品编号,物料编号为关键字,用表二的库存去更新表一的库存数,表二中不存在的数据表一的库存数自动为0.rn请教哪位高人,这句查询SQL应该如何写,怎么写速度更快???rn
A,B两表查询
A(CITY1,CITY2)rnSHANGHAI BEIJINrnBEIJIN SHANGHAIrnrnrnB CITYENAME CITYCNAMErnSHANGHAI 上海rnBEIJIN 北京rnrnrn要求结果rnSHANGHAI 上海 BEIJIN 北京rnBEIJIN 北京 SHANGHAI 上海
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 两表中不同的。。
a 表如下rnrnid namern001 ddddrnrnb表如下 rnid bb ccrn001 dd dddrn''rnrnrnrna 是用户表,b 是一张明细表。。。rn想得到a 表中有,但b 表中没有的数据rn也就是有个这个用户,但没有它的明细rn
oracle有两张表A,B
oracle有两张表A,B B表查询出来的所有数据字段,A表都有这些字段,A表是空表,怎么把B表查询出来的数据插入到空表A?
如何用表A的字段a更新表B的字段b??两个表通过userid关联
如题,如何用表A的字段a更新表B的字段b??两个表通过userid关联
A、B两张表联合查询获取B表中A出现的次数
我有两张表A、B表,在B表中有A表的id值对应的aid,在我查询A表循环列表的时候,要获取B表中aid出现的次数,并在A列表循环中展示出来,哪位知道告知下,谢谢了!
表A的数据插入到表B中
我需要把表A的数据(xm,gh,jz,la)插入到表B(xm,gh,jz,la)。rn请问如何实现呢?
并发情况下,向mysql的两张表插入数据,B是A关联表
两张表A、B,两张表都有自己的自增主键id,B表中有A表的外键,A与B的关系是一对多;rn现在是多用户同时向这两张表中插入数据。rn我想在插入A表信息的时候马上获得A的主键,last_insert_id()这个方法在并发的情况下获取的不一定是我自己insert的id吧。rn有没有什么比较高效的方法?rn
vfp里两张表,我想根据b表把a表中的身份证号更新。
a表rn职工号 姓名 身份证号 单位rn001 王丽 101 111rn002 张三 102 3333rn003 丽丽 1022 222rnb表rn职工号 姓名 身份证号 年龄 rn001 王丽 201 28rn002 张三 202 33rn003 丽丽 203 35rn004 王丹 204 25rn按照职工号,把b表中的新身份证号更新到a表中。rn如何用vfp的操作命令呢rn
SQL 不同表结构的两张表A和B,往表中新增表B的数据,判断条件如果表A中不存在B中的记录
rnrn```rninsert into A(no,name,status)valuesrn(rn select no,name,'Add' from B where B.no not inrn (select no from A)rn)rn```rnA(no,name,status)rnB(no,name)rnno是主键,上面这么写报错,请问要怎么改 ?rn
数据库 根据A表 更新B表
--------------------oracle 根据A表 批量更新B表---------------------- update t_b_loans a set a.create_by_org= (select b.org_code from t_s_depart b where a.setup_tsdepart_id = b.id) where exists (select * fr
ACCESS 更新A表 B表
t1rn--------rnid numberrn1 rn2 rn3 rn4 rn--------rnrnt2rn--------rnid numberrn1 rewrew rn2 retrrn3 tertrern4 543543rn--------rnrn要将t2的number更新到t1中间去。rn按照SQL语句常规:rnupdate t1 set t1.number=t2.number from t1,t2 where t1.id=t2.idrn一句搞定。rn但是在Access中。rn出现以下错误。rn语法错误 (操作符丢失) 在查询表达式 't2.number from t1' 中。 rn(t2.number怎么会搜索到t1去了?不识别逗号?不可能哦!)rn30分求一条ACCESS中通过的语句。rn
B表更新A表某个值
A表 有2个字段 我新增的字段 1字段和2字段 rnrnB自定义表里面有A表1字段和2字段的内容 rnrnA表的字段关联有物料编号rnrnrnA表物料代码字段名称 ItemCode =B表的U_ItemCode物料代码的字段名称rnrn目的 我想在B表更新表的时候 就自动关联到A表的某一个物料代码中填入这2个字段的值(新增的字段 1字段和2字段)rnrnrn求大神具体的代码
a表更新b表效率问题
实际sql语句,其中a表中60000条数据,b表1000条,跟踪用时2秒,如何提高效率,望高手帮忙:rnUPDATE FKOGD30 A rn SET rn A.CRE_DATA_STATUS = '3', rn A.FINAL_UPDATETIME = SYSDATE, rn A.EXCLUSIVEFG = ?, rn A.UPDATED_PERSON = ?, rn A.UPDATED_DT = SYSDATE rn WHERE EXISTS (SELECT 1 FROM rn (SELECT DEBTOR_CODE, OFFICE_CODE, CREDITOR_CODE, CREDIT_CODE rn FROM FKOGV3A01 rn WHERE ID = ? rn AND DATA_DIV = '1' rn AND DEBTOR_CODE = ? rn GROUP BY DEBTOR_CODE, OFFICE_CODE, CREDITOR_CODE, CREDIT_CODE ) B rn WHERE A.FACTORING_CODE = ? rn AND A.DEBTOR_CODE = B.DEBTOR_CODE rn AND A.OFFICE_CODE = B.OFFICE_CODE rn AND A.CREDITOR_CODE = B.CREDITOR_CODE rn AND A.CREDIT_CODE = B.CREDIT_CODE rn )
根据B表更新A表
[img=https://img-bbs.csdn.net/upload/201311/22/1385124323_907047.png][/img]rnrn基本意思就是要实现如果 A.字段2=B.字段2 那么就将B.id 更新到A.字段2 中rn单条数据倒是听好弄 本人也会rn但是一牵扯循环更新就头大了。rn还请各位路过的高仙支支招吧
根据表A更新表B的存储过程
表A中字段PName,PPrice 其中PName是唯一的,表B字段PName,PPrice等等 其中PName允许重复rn现在要根据相同的PName将表A中的PPrice更新到表B中,这个存储过程该怎么写?表B中数据量太大,因此不考虑逐条修改,通过代码去更新不是我的目的。
用A表,去更新B表
VFP 9.0 + SQLrnrn现有SQL表A,记录如下rndep_id depart_idrn001 12rn002 12rn003 15rn003 19rn002 39rnrnrn现有SQL表B,记录如下rndep_id depart_id biaojirn002 12 1rn003 15 0rn003 19 1rn002 19 1rn009 20 1rn010 25 1rnrn用A表的记录,去更新B表,要求如下:rnA表里dep_id记录里有的,而B表里dep_id无此记录,则复制到B表去(举例:A表有001,B表没有,则将001那一行,复制到B表去)rnA表里depart_id记录里有的,而B表里depart_id无此记录,则复制到B表去(举例:A表有39,B表没有,则将39那一行,复制到B表去)rnrnB表dep_id里面有,而A没有.则删除B表里面的相应记录 (如:010那一行,B表有,而A表没有,则删除B表那一行记录)rnB表depart_id里面有,而A没有.则删除B表里面的相应记录 (如:25那一行,B表有,而A表没有,则删除B表那一行记录)rnrn我自己琢磨出来的命令如下:rnrninsert into 表B (dep_id depart_id) select dep_id depart_id from 表A where dep_id not in (select dep_id from 表B)rninsert into 表B (dep_id depart_id) select dep_id depart_id from 表A where depart_id not in (select depart_id from 表B)rnrnDELETE from 表B WHERE 表B.user_id NOT in (select distinct user_id FROM 表A)rnDELETE from 表B WHERE 表B.depart_id NOT in (select distinct depart_id FROM 表A)rnrn我也没有把握我的命令,是不是全部正确.rnrn但是,我运行结果是:所有数据,都双倍出现了. 这肯定是错误的.rn错在哪?我也迷糊了rnrn请老师指导
表B 表A
表 A( rnA_ID INT,rnA_SUM DECIMAL)rn表 B(rnB_ID INT,rnB_detail DECIMAL)rnA中假如数据为 A_ID A_SUM ,B中的数据为 B_ID B_detailrn 1 0 1 34rn 2 0 1 56 rn 3 0 1 10rn 2 74rn 2 49rn 3 37rn 3 26rn 3 65rn 3 23rn现在想B中根据B_ID 分组后累加B_detail,在把这个累加的值 赋给与B_ID相同 A_ID的A_SUM值。rn例如为B表中B_ID 为1的B_detail累加后为100,再把这个100的累加值赋给表A中A_ID=1(ID值和B_ID相同), 的A_SUM.另外SUM()函数返回的是INT型的,B_detail是decimal型的,A_SUM的值最后我想要的也是decimal型的。求语句,。。。
oracle 取A表的数据,关联B表的id最小值
1.先关联出数据作为临时表a,取出最小值,然后将剩余的行数去掉最小值的行,即可 with a as (SELECT A.cus_No FROM A , B where B.rel_org_no(+)=A.cus_no and t.Stop_Flag='N' ) SELECT a.* from a where usr_id in (select min(usr_Id) f...
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 ) ...
如何将A表中记录更新到B表中?
A表rnCS1 CS2rn1 100.00rn3 200.00rnCS1 为关键字段rnB表rnXY1 XY2rn1 50.00 rn2 0.00 rnXY1 为关键字段rn请问高手如何将A表中的记录更新到B表中,相同关键字的累加结果,没有的则新增rn谢谢!
向B表插入A表有而B表无的数据;更新A表数据到B表
  两个excel表 ,18日数据表和19日数据表. 并有两个要求:  1. 18日表中的记录,如果在19日表中不存在,则将18日表中的此记录插入19日表2. 18日表中标注了充值人的记录,用来替换19日表中的相同记录 分别把两个excel中的数据通过navicat中的&quot;导入向导&quot;导入到mysql中我新建的两张临时表temp3和temp4. 18日数据对应temp3; 19日数据对应...
B表数据更新到A表
库存表rn品名主键 数量 列3rnaaa 0 0rnbbb 0 0 rnrnB表rn列1 品名 数量rn1 aaa 4 rn2 aaa 2 rn3 bbb 3 rn已知条件是B。列1,更新到A表rnrn请各位帮帮忙
将A表数据更新到B表
UPDATE xm_dwjy set areacode=a.area_code from sys_region a,xm_dwjy b where a.xm_areacode=b.areacode  
查询表A更新到表B
select f0001"日期", rn f0003"库位编号",rn f0002"库位名称",rn F0005"产品编号",rn F0004"产品名称",rn F0007"单位",rn F0018"入库数量",rn F0010"出库数量",rn F0019"结存数量",rn F0027"标准套系数",rn F0028"木质",rn F0021"款式编号",rn F0022"简编",rn F0033"年",rn F0034"月",rn F0035"日"rnfrom T0230H --日报表 rnrnselect rn f0001"库位编号",rn f0002"库位名称",rn F0003"产品编号",rn F0027"简编",rn F0004"产品名称",rn F0007"单位",rn f0006"期初数量",rn F0007"收入数量",rn F0009"发出数量",rn F0011"结存数量",rn F0026"木质",rn F0016"年",rn F0017"月",rn Fh030"产前编号",rn fh031"xx"rnfrom T0280h --库存总帐表rn期初数量:是月底结转到月初rn查询 “库存总账” 更新到 “日报表” rn日期:更新时间 rn结存数量=仓库日报表.上次结存 + 仓库日报表.入库数量 - 仓库日报表.出库数量rn怎么写更新日报表 表已经有了 谢谢
请教Mysql触发器问题,插入A表,更新B表
版本:Mysql5.0rn数据库:Testrn表:voteItem(id,title,ticketNumber),主键:id,自增长整型。title:投票项标题。ticketNumber:获得投票数。rn表:ticket(id,voteItemID,ip),主键:id,自增长整型。voteItemID:外键到表voteItem的主键。ip:进行投票的IP地址。rn需求:在插入数据到ticket表的时候,插入数据项关联的外键项的'ticketNumber'值能自增。rn也就是出现一张投票时,投票项的获得投票数自己能发现这个事件,并进行投票数自增。rnrn不知道描述是否清楚,请大家帮忙。
如何根据a表更新b表(mysql)
如何根据a表更新b表(mysql) rnrna表:rnrnid numrn----------rn1 1rn2 2rn----------rnrnb表:rnrnid numrn----------rn1 100rn2 200rn------------rnrn现在要把b.num加到a.num里面,如何操作???rnrn加完以后的a表就是:rnid numrn----------rn1 101rn2 202rn----------
MySql触发器:A表更新B表新增
创建触发器 CREATE TRIGGER T_TRIGGER_UPDATE BEFORE|AFTER UPDATE|INSERT|DELETE ON 表A FOR EACH ROW BEGIN insert into 表B(列1, 列2, ...) VALUES(NEW.列1, NEW.列2, ...); END 解释:T_TRIGGER_UPDATE为触发器名字;BEFORE|AFT...
mysql根据A表更新B表的方法
最近遇到一个需求:mysql中A表和B表都有(id, age)字段,现在想读取B表的age字段,将其update到A表对应ID的age字段中去,我直接想到了一种方案:用Python读取B表,获得{id:age}形式的数据,然后根据每个ID和age的值依次update A表。 两个表分别定义和数据如下: A表定义: Field Type...
sql A表和B表是一对多关联,而C表和A、B表一对多的关联,如何写关联查询语句
sql A表和B表是一对多关联,而C表和A、B表一对多的关联,A、B表是一一对应的,C表以外键和A、B表关联,请问用SQL语句如何写关联语句。
a,b 和(a,b)
main()rnrn int a, b,c, d;rn a=3;rn b=5;rn c=a,b;rn d=(a,b);rnrn printf("c=%d" ,c);rn printf("d=%d" ,d);rnrnrnrn?
A^B == B^A?
Solve the equation in the name of this problem.nnInputnnThere are several cases. Each of them has a single real number as the smaller one of a and b in the equation on a separate line. You may assume it's no smaller than 1.1. Proceed until the end of file.nnOutputnnFor each case, print the other number on a single line. Keep 5 digits after decimal point. If no such number exists, print -1.nnSample Inputnn2n10nSample Outputnn4.00000n-1
A>B?A:B
各位高手请问A>B?:A:B在C语言中怎样理解?
a^=b^=a^=b
在C语言中,上式的计算是没有定义的吗?rna^=b^=a^=b,为什么?rnrn应该可以算吧,从右到左,a的b次方赋值给a;然后b的新a次方,赋值给b;然后新a的新b次方赋值给新a。rnrn这样计算没有歧义把?
A表和B表格式相同,想把A表中不同于B表中的数据插入B表。相同的不变。
A表和B表格式相同,想把A表中不同于B表中的数据插入B表。相同的不变。rnrn格式。rnrnA:ID,(自动累加),name, telrnrnB:ID,(自动累加), name, telrnrn我用rnrninsert into b (name,tel)rnselect b.name,b.telrnfrom brnrn可是相同数据的不允许插入。rnrn请问应怎么写这个语句。rnrnrn
如何实现A表->B表,数据存在则更新?
比方说有A B 2个数据表,通过 Code Type Time 来识别记录rn从A表Select数据Insert到B表时rn[code=SQL]INSERT INTO BrnSELECT Code,Type,TimernFROM A[/code]rnrn如果B表中存在相同记录则替换/更新改记录rn怎么实现?
两数据张表关联的问题
有经验的人给个建议参考:rnrn有一个表有两个字段,一个是自增字段ID,另一个是唯一性的字段UserName。rnrn另有一张表与这个表关联,为了关联,这张表保存ID,还是保存UserName好?rnrnrn做的多的人给个建议参考,说说它们的怎么样好,优处劣处,或适用哪种情况。
B表改动后如何更新到A表中
A表 rnType_Id rnsingle_hoursrnsum_hours rnrnB表 rnBulb_Id(自动编号) rnType_Id rnsingle_hours rnrnA表对应于B表的多条记录,两者的关系用Type_Id连接,rn想实现的功能是:rn从B表中将具有相同Type_id的single_hours求和,然后把求得的和将A表中的sum_hours更新,同时将B表相同Type_Id中的最后一条记录中的single_hours的值更新到具有相同Type_Id的A表的single_hours字段中,sql语句应该怎么写(不用存储过程和触发,简单语句即可,能在一条语句里面实现就更好了)rn