两个excel表 ,18日数据表和19日数据表. 并有两个要求:
1. 18日表中的记录,如果在19日表中不存在,则将18日表中的此记录插入19日表
2. 18日表中标注了充值人的记录,用来替换19日表中的相同记录
2. 18日表中标注了充值人的记录,用来替换19日表中的相同记录
分别把两个excel中的数据通过navicat中的"导入向导"导入到mysql中我新建的两张临时表temp3和temp4.
18日数据对应temp3;
19日数据对应temp4.
首先向temp4中插入在temp3中存在而在temp4不存在的数据
用了insert into select
INSERT into temp4(type,exchange_no,balance,phone_count,exc_name,fromtable) SELECT type,exchange_no,balance,phone_count,exc_name,fromtable from temp3 where exchange_no not in( SELECT exchange_no from temp4 );
这样完成了第一条要求.
第二个要求可以分以下几步 ;筛选两表中主键(exchange_no)相同的记录;再18日数据中记录人(exc_name)不为空的数据;把这部分数据更新到19表即temp4中.
也就是说需要要两表关联,同时把temp3中筛选后的数据更新到temp4中.
因为前边要求一已经往temp4插入过数据了,所以我把temp4的原始数据先备份成了temp4_copy,这样交互temp3后再更新到temp4中,
update temp4 t4 , (SELECT t3.exchange_no,t3.type,t3.balance,t3.phone_count,t3.exc_name,t3.fromtable from temp3 t3 , temp4_copy t4 where t3.exchange_no=t4.exchange_no and t3.exc_name!='') t5 set t4.type=t5.type,t4.balance=t5.balance,t4.phone_count=t5.phone_count,t4.exc_name=t5.exc_name,t4.fromtable=t5.fromtable where t4.exchange_no=t5.exchange_no
向一个表更新另一个表的数据
UPDATE table t1, table2 t2 SET t1.field(需更新的字段) = t2.field(字段源) WHERE t1.id=t2.id AND ...
也可以用另一种更灵活的方法 即 join,这样你可以使用左,右联接以及内部联接.
UPDATE table t1 INNER JOIN table2 t2 ON t1.id=t2.id SET t1.field(需更新的字段) = t2.field(字段源)
相关推荐
sql 存储过程 自动备份指定时间内A数据库表数据到B数据库表
在本资源"易语言源码ACCESS库表A中的数据读入表B中.rar"中,我们可以看到一个易语言的源代码项目,其主要功能是将ACCESS数据库中的数据从表A读取并导入到表B中。这里我们将深入探讨这个过程涉及的易语言编程技巧...
5. SQL INSERT INTO语句:如果你熟悉SQL,可以直接使用INSERT INTO语句将数据从表A插入到表B。这涉及到创建一个带有SELECT子句的INSERT INTO语句,这样就可以从一个表复制数据到另一个表。例如:`INSERT INTO 表B ...
这段SQL语句的具体含义是:从`old_dept`表中选取所有的`id`、`dept_code`、`dept_name`和`dept_address`列,并将这些数据插入到`new_dept`表对应的列中。 如果需要进一步限制要迁移的数据,可以通过添加`WHERE`子句...
其中B表插入数据的字段需要同A表中的字段相对应。 代码如下: CREATE TRIGGER 触发器名称 ON A表 AFTER INSERT AS BEGIN INSERT INTO B表(B表字段1,B表字段2,B表字段3) SELECT A表字段1,A表字段2,A表字段3 FROM ...
这将交换 tb1 表中的 a 和 b 两列数据。 使用临时表交换两列数据 可以使用临时表来交换两列数据,例如: ```sql select a, b into #tmp from tb1 delete from tb1 insert into tb1 (a, b) select b, a from #tmp ...
删除A表中在B表中不存在的数据 在数据库管理中,删除A表中在B表中不存在的数据是非常常见的操作。这种操作可以确保A表中的数据与B表中的数据保持一致,避免数据不一致的情况。 标题解释 标题"删除A表中在B表中不...
"易语言ACCESS库表A中的数据读入表B中"这个主题涉及到如何在易语言编程环境中,实现数据库操作,具体是将一个表(表A)的数据迁移到另一个表(表B)。 易语言是中国自主研发的一种简单易学的编程语言,它提供了...
在这个具体场景中,我们需要从"表A"中读取数据,并将这些数据插入到"表B"中,这两个表都位于同一个ACCESS数据库中。 首先,我们需要了解ACCESS数据库的基本概念。ACCESS是由微软公司开发的一款关系型数据库管理系统...
在顺序表L中的数据元素递增有序,试写一算法,将x插入到L的适当位置上,并保持该表的有序性。该算法的思路是,从顺序表L的最后一个元素开始比较,如果L的元素大于x,则将其后移一位,直到找到合适的插入位置。实现...
本示例通过使用子表和触发器来实现表A与表B之间的数据插入同步,以达到实时更新的效果。以下是对这个机制的详细解释: 1. **子表(CHILD表)**: 子表CHILD是用于存储表A和表B之间同步信息的中间表。它有四个字段...
本文将深入探讨双向链表的原理、操作以及一个实际的例子——"A交B"问题。 双向链表,顾名思义,每个节点不仅包含数据,还包含两个指针,一个指向前一个节点(prev),另一个指向后一个节点(next)。这种设计使得在...
- 当有数据插入`TSYS_BAMKZ`表时,会根据`INSERTED`表中的数据和`TSYS_MKZ`表中不同的`yhz`值向`TSYS_MKZ`表中插入新的记录。 **insert TSYS_BAMKZ SELECT '', 50------------------------------------------------...
有两张表A和B,要求往A里面插入一条记录的同时要向B里面也插入一条记录,向B里面插入一条记录的同时也向A插入一条记录。两张表的结构不同,需要将其中几个字段对应起来。可以用下面的触发器实现。 表A的触发器: ...
当涉及到多个表之间的数据关联时,如何高效地进行多表更新就显得尤为重要。本次内容将围绕“SQL多表更新”这一主题展开,深入探讨其概念、应用场景、语法结构及注意事项。 #### 一、SQL多表更新的基本概念 SQL...
**题目背景**: 给定一个顺序存储的递增有序表L,要求设计一个算法,能够将一个新元素x插入到L的合适位置,使得L依然保持递增有序。 **解析**: 1. **数据结构定义**: ```c typedef struct { ElemType *elem; // ...
此时,数据透视表的左侧为报表生成区域,随着所选择字段的变化而自动更新;右侧则显示数据透视表字段列表。接下来,用户可以根据自己的需求将字段拖拽至相应的位置,从而构建出所需的数据透视表。 通过上述步骤,...
本书首先介绍了数据透视表的基础,然后逐步介绍创建数据透视表、自定义透视表、查看视图数据、在透视表内进行计算、使用数据透视图等可视化工具、分析数据源、共享数据表、使用和分析OLAP数据、在透视表中使用宏和...
(2)从标准输入(键盘)逐个数据输入a,b,c,d,e元素 ,建立顺序表 (3)输出顺序表L (4)输出顺序表L的长度 (5)判断顺序表L是否为空 (6)输出顺序表L的第3个元素 (7)输出元素a的位置 (8)在第4个元素...