精华内容
下载资源
问答
  • 将table_b中的数据更新到table_a中指定的数据中去 UPDATE table_a ta,(SELECT tb_value1,tb_value2 FROM table_b WHERE tb_value3 = 'value3') tb SET ta.ta_value1 = tb.tb_value1 WHERE ta.ta_value2 = tb.tb_...

    将table_b中的数据更新到table_a中指定的数据中去

    UPDATE
         table_a ta,(SELECT tb_value1,tb_value2 FROM table_b WHERE tb_value3 = 'value3') tb
    SET ta.ta_value1 = tb.tb_value1 
    WHERE ta.ta_value2 = tb.tb_value2;

    展开全文
  • 成绩T1,记录学生成绩,T2是一张加分的表,现在用T2给少数名族学生加分。 成绩T1 PID SCORE ISMINORITY ---- ---------- ---------- 1 670 N 2 620 N 3 600 N 4 520 Y 5 480 N 6
    • 需求
      有表成绩T1,记录学生成绩,表T2是一张加分的表,现在用表T2给少数名族学生加分。
    • 表成绩表T1
     PID      SCORE ISMINORITY
    ---- ---------- ----------
       1        670 N
       2        620 N
       3        600 N
       4        520 Y
       5        480 N
       6        568 Y
    • 表T2(加分表)
     PID  ADD_SCORE
    ---- ----------
       3         21
       4        100
       6        100
    • 写法1(可能有潜在error)
    MERGE INTO T1 
    USING T2
    ON (T1.PID = T2.PID)
    WHEN MATCHED THEN UPDATE SET T1.SCORE = T1.SCORE + T2.ADD_SCORE WHERE T1.ISMinority = 'Y';

    写法1有潜在error是因为Merge 不能多次更新被更新表(即T1)的同一条记录,如果T2有重复的数据,比如两条pid为4的记录。那么写法1将报错
    ORA-30926: unable to get a stable set of rows in the source tables
    但是如果T2有两条pid为3则不会报错

    • 升级版写法
    MERGE INTO T1 
    USING (SELECT PID, MAX(add_score) add_score FROM t2 GROUP BY PID) T2
    ON (T1.PID = T2.PID)
    WHEN MATCHED THEN UPDATE SET T1.SCORE = T1.SCORE + T2.ADD_SCORE WHERE T1.ISMinority = 'Y';
    • 完整代码
     CREATE TABLE T1
    (PID INT, SCORE INT, ISMINORITY VARCHAR(1));
    
    CREATE TABLE T2
    (PID INT, ADD_SCORE INT);
    
    INSERT INTO T1 VALUES(1,670,'N');
    INSERT INTO T1 VALUES(2,620,'N');
    INSERT INTO T1 VALUES(3,600,'N');
    INSERT INTO T1 VALUES(4,520,'Y');
    INSERT INTO T1 VALUES(5,480,'N');
    INSERT INTO T1 VALUES(6,568,'Y');
    
    INSERT INTO T2 VALUES(3,21);
    INSERT INTO T2 VALUES(4,21);
    INSERT INTO T2 VALUES(6,21);
    COMMIT;
    
    SELECT * FROM T1;
    
    MERGE INTO T1 
    USING T2
    ON (T1.PID = T2.PID AND T1.ISMinority = 'Y')
    WHEN MATCHED THEN UPDATE SET T1.SCORE = T1.SCORE + T2.ADD_SCORE;
    COMMIT;
    展开全文
  • mysql更新一张表的数据到另一张表

    千次阅读 2019-05-07 17:06:00
    mysql更新一张表的数据到另一张表 解决方法: 例如,把tb_account表的ac_name字段的值更新到tb_account_channelgroup表(存有tb_account表的ac_id字段,也就是说tb_account是一方,tb_account_channelgroup是...

    mysql更新一张表的数据到另一张表

     

    解决方法:

    例如,把tb_account表的ac_name字段的值更新到tb_account_channelgroup表(存有tb_account表的ac_id字段,也就是说tb_account是一方,tb_account_channelgroup是多方)的scg_name字段

    sql:http://www.yayihouse.com/yayishuwu/chapter/1902

    展开全文
  • 1.查询出数据更新到另一张表 需求:从A表查询出字段数据,更新到B表对应的字段 示例:当table_a表中的b_id=table_b表的id时,将table_b表中的sn,filed1更新到table_a 表中sn,filed1字段 -- 更新数据 UPDATE `...

    1.查询出数据更新到另一张表

    需求:从A表查询出字段数据,更新到B表对应的字段

    示例:当table_a表中的b_id=table_b表的id时,将table_b表中的sn,filed1更新到table_a 表中sn,filed1字段

    -- 更新数据
    UPDATE `table_a` r
    INNER JOIN (SELECT id,sn,filed1 FROM `table_b`) t ON r.b_id= t.id
    SET r.sn = t.sn,r.filed1 = t.filed1 

    2.一张表查询出数据插入到另一张

    insert into table_a(字段1,字段2,字段3,....)  select a,b,c,.... from table_b where 条件 

    示例:

    insert into table_a(`name`,`age`,`gender`) select b_name,b_age,b_gender from table_b where id = 5;

    说明:

    1、table_a表插入的字段个数必须同select后面跟的字段个数一致

    2、where条件可以写多个

    3、select后面跟的字段可以写固定值(部分写死,全部写死相当于直接insert,这样就没必要查询)

    示例:insert into table_a(`name`,`age`,`gender`) select '张三', 18, b_gender from table_b where id = 5;

    展开全文
  • 在mysql中如何将一张表的内容更新到另一张表中?现在有两张表t_soft1,t_soft2,这两张表有两个相同名称的列id,softlinks,其中id为主键并且两张表的id列数据完全相同。我现在想把t_soft2的softlinks列的数据覆盖t_...
  • 写在前面昨天本人用MySql进行简单的数据分析的时候,遇到了一个问题——用一张表内查找到的数据更新另一张表的部分数据。由于本人以前基本上没有用MySql处理过数据,因而在此过程中遇到了诸多问题。先将正确的方法...
  • 比如说将表A中的phone与表B中的phone对应上,关联是两张表的usr_id是一致的 update usr_account a ,usr_info b set a.phone=b.phone where a.usr_id=b.usr_id 测试效果是有用的 好像还有其他方式,喜欢探究的可以去...
  • Mongo基于一张表的数据更新另一张表

    千次阅读 2019-05-23 16:22:02
    业务场景中,经常有这样一个需求,就是根据A表中的信息,更新B表的某个字段,在关系型数据库中,这个需求很简单,一条SQL搞定: update B set B.f1=A.a1 where xxxx 但在mongo数据库中,一条SQL就解决不了。好在...
  • mysql把查询后的数据更新到另一张表 update tableA A inner join (select * from tableB where ...) B on B.XX = A.XX AND B.XX2 = A.XX2 AND ... SET A.XX = b.XX ,...
  • update table1,table2 set table1.column=table1.column where 额外条件
  • 现在有两张t_user1,t_user2,这两张有1个相同名称列id,其中id为主键,另外t_user1有列total_amount,t_user2有列amount。...进行汇总并且将结果更新到t_user1中,请问对应sql该怎么写,可以用存储过程,谢谢了
  • 主要介绍了mysql实现查询数据并根据条件更新到另一张表的方法,结合实例形式分析了mysql多表关联查询、更新等相关操作技巧,需要的朋友可以参考下
  • 写oracle 触发器 一张表的某个字段更新为0 或1 则把这张表数据插入到另一张表, 刚接触oracle,不懂,请赐教,谢谢!
  • mysql 根据一张表数据更新另一张表 sql示例 update a ,b  set  a.name = b.name  where a.id = b.id 一)在同一个数据库服务器上面进行数据表间的数据导入导出: 1. 如果表tb1和...
  • update macdb r inner join (select mac,`打位` from g_schema.server) t on r.Mac=t.mac set r.Nick=t.`打位` ...示例:当table_a表中的b_id=table_b表的id时,将table_b表中的sn,filed1更新到table_a 表中sn,filed...
  • mysql根据一张表数据更新另一张表sql示例update a,bseta.name = b.namewherea.id = b.id一)在同一个数据库服务器上面进行数据表间的数据导入导出:1. 如果表tb1和tb2的结构是完全一样的,则使用以下的命令就可以将表...
  •  那么,有什么办法能将测试库中该字段更新到开发库中呢?  SQL Server中这是比较容易解决,而Oracle中不知道方法了。  SQL Server中类似问题解决方法  后来只好用笨方法:  首先,将数据复制到...
  • 本文实例讲述了mysql实现查询数据并根据条件更新到另一张表的方法。分享给大家供大家参考,具体如下:原本的数据库有3张表travel_way :旅游线路表,存放线路的具体信息traveltag :线路标签表,存放线路目的地等...
  • --写一个通用 update a set a.num = a.num + b.num from table1 a inner join table2 b on a.id = b.id --(关联条件) where ... --如果有条件话 --有查询 update a set a.num = a.num + b.num ...
  • 现有需求: ...A表和B表通过field3和field5字段来关联,需要把A表的field2字段的数据更新到B表的field5字段中 >> 适合全表更新,不需要全表更新的话添加where条件 update B b set b.f...
  • 怎么将一张表(数据量比较大)的数据分段更新到另一张表,现在用存储过程一次性同步感觉太慢了,怎么使用分段同步啊!

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 199
精华内容 79
关键字:

一张表的数据更新到另一张表