表A修改表B数据功能实现

用python实现把A表的数据对应写入B表中 【代码】用python实现把A表的数据对应写入B表中。 阅读详情

     今天因为原来项目方法的问题导致计算数据错误,现在需要将以前的数据更改回来,需要更改的表如下:

表A (学员培训信息表)

  stus_id           INTEGER not null,
  stu_idcard        VARCHAR2(50) not null,
  mas_idcard        VARCHAR2(30),
  stus_starttime    DATE not null,
  stus_endtime      DATE,
  stus_totalminute  INTEGER,
  stus_totalmileage INTEGER,
  stus_sinfoid      INTEGER not null,
  stus_checktype    VARCHAR2(50),
  stus_isok         VARCHAR2(30) default 1,
  stus_carid        INTEGER,
  stus_deviceid     VARCHAR2(50) not null,
  ds_id             INTEGER,
  consumetypeid     INTEGER default 0 not null,
  createdate        DATE,
  sumofconsumption  NUMBER(18,2),
  createby          INTEGER,
  stus_isnormal     INTEGER default 1,
  stus_errorcausa   VARCHAR2(100),
  region_ratio      NUMBER default 0 not null,
  region_min_ratio  NUMBER default 0 not null,
  options           VARCHAR2(200),
  stus_ispass       INTEGER default 1,
  stus_remark       VARCHAR2(1000),
  regionids         VARCHAR2(1000)
表 B(学员学时表)

  stut_id            INTEGER not null,
  stu_idcard         VARCHAR2(30) not null,
  stut_sinfoid       INTEGER not null,
  stut_totalperiod   INTEGER not null,
  stut_lasttime      DATE not null,
  stut_totalmileage  INTEGER not null,
  error_totalperiod  INTEGER default 0 not null,
  error_totalmileage INTEGER default 0 not null,
  stut_nums          INTEGER default 0 not null

要根据表A中的身份证(stu_idcard)、项目编号(stus_sinfoid)来进行累加stus_totalmileage得到结果更改表B对应列值中的stut_totalmileage

首先查询所要修改的表A数据:

select  a.stu_idcard,a.stus_sinfoid,sum(a.stus_totalmileage)  from a group by a. stu_idcard,a.stus_sinfoid order by stu_idcard

根据上面得出的数据更改表B 的stut_totalmileage

起先在百度里面找到一些方法,但都无法进行实际的转换,最后看到 merge into函数

这个函数只能在9i及以上的版本使用。

说明:

在进行SQL语句编写时,我们经常会遇到大量的同时进行Insert/Update的语句 ,也就是说当存在记录时,就更新(Update),不存在数据时,就插入(Insert)。

语法:

MERGE INTO table_name alias1 
USING (table|view|sub_query) alias2
ON (join condition) 
WHEN MATCHED THEN 
    UPDATE table_name 
    SET col1 = col_val1, 
        col2     = col2_val 
WHEN NOT MATCHED THEN 
    INSERT (column_list) VALUES (column_values)
    [WHERE col1...]; 
按照上面的语法逻辑就可得出下面SQL语句:

merge into t_ds_stutime me 
using 
(select * from (select ec.stu_idcard,ec.stus_sinfoid,sum(ec.stus_totalmileage) cc 
from t_ds_stagerec ec group by ec.stu_idcard,ec.stus_sinfoid order by ec.stu_idcard)) kk
on(me.stu_idcard=kk.stu_idcard and me.stut_sinfoid=kk.stus_sinfoid )
when matched then
  update set me.stut_totalmileage=kk.cc
where me.stut_totalmileage!=kk.cc







C++ 类A调用类B的方法来修改自己的数据 问题简述:类A调用类B的方法来修改自己的数据。 剖析:1 类B的方法要能修改类A的数据,则必须把类B的方法声明为类A的友元。那么需要在A定义之前声明类B,在A定义之后定义类B;2 既然类B在类A之后定义,那如何能 够让类A调用类B的方法呢?答曰:声明B的该方法为static成员函数,这样该函数在类B声明时候就定义了。实现如下: 头文件,用于定义类A: #ifndef MULTI_CLASS 阅读详情

相关推荐

Silvaco Atlas从头开始(四)——定义材料参数和模型

这部分是关于定义材料参数和模型。

qsz1425AWD2121的博客 4650

sql根据一个表数据修改另外一个表数据

现象: sql根据一个表数据修改另外一个表数据 方法: 1、根据表tb_b 设置表tb_a 的date 字段 取值tb_b的pay_time tb_b对应tb_a为一对多的关系 这里取值多条中的最大值 UPDATE tb_a a INNER JOIN tb_b b ON b.id=a.order_id SET a.date = (SELECT MAX(pay_time) FROM tb_b b W...

细节打败一切 2万+

FFmpeg硬件加速实战:VAAPI驱动配置全攻略(含NVIDIA/Intel避坑指南)

本文详细解析了在Linux环境下配置FFmpeg使用VAAPI接口实现硬件加速的完整流程。针对NVIDIA、Intel等主流显卡,提供了从驱动安装、环境变量设置到多显卡切换的实战指南,并重点解决了闭源驱动冲突、国产系统适配等常见问题,帮助用户有效提升视频处理性能。

weixin_29306011的博客 454

mysql 从 a表updateb表_mysql根据A表更新B表的方法

最近遇到一个需求:mysql中A表和B表都有(id, age)字段,现在想读取B表的age字段,将其update到A表对应ID的age字段中去,我直接想到了一种方案:用Python读取B表,获得{id:age}形式的数据,然后根据每个ID和age的值依次update A表。两个表分别定义和数据如下:A表定义:FIELDTYPECOMMENTidint(11)namevarchar(20)agein...

weixin_39767887的博客 964

Unity类银河战士恶魔城学习总结(P103之前 Enemy相关 , 骷髅战士,状态机,敌人状态,)

udemy的Alex银河战士恶魔城,记录我自己的学习,代码会逐渐每一p更新,仅供参考学习。

suzh1qian的博客 1631

从Zemax到Speos:HUD设计数据无缝迁移避坑指南(含STEP文件精度验证)

本文详细介绍了从Zemax到Speos的HUD设计数据无缝迁移方法,重点解决Zernike曲面参数保真、虚拟厚度设置和坐标系对齐等核心问题。通过STEP文件精度验证和工程化解决方案,帮助工程师避免数据迁移中的常见陷阱,提升HUD系统设计效率。适用于Ansys Zemax和Ansys Speos用户,优化光学性能验证流程。

h6i7j8的博客 1063

mysql操作:一个表a字段更新另一个表b字段;表多字段去重

4、b库je_log与a库rt_rights原本有关联,但开发未记录关联id,所以我们用时间关联:上下一分钟内创建、关联两个表数据,查询出结果后,把right.id记录进je_log表,使两个表直接关联起来。1、全表同步操作:使用一个表的字段t1.a更新表的另一个表的字段t2.b,整个表t1.a字段全部替换,关联条件 t1.c=t2.c。2、归总操作:一个表的全部内容根据user_id和type去重,选最新记录,归总到到另一个表里。

tiantiannianni的博客 3926

告别零散脚本:用Playwright+Pytest+Yaml+Allure搭建可维护的UI自动化项目

UI自动化测试是软件质量保障的关键环节,其核心在于模拟用户操作,对Web应用界面进行功能验证。传统的脚本堆砌方式常因代码耦合度高、维护成本大而难以为继。工程化解决方案通过分离关注点,将测试逻辑、数据和配置解耦,从而显著提升项目的可读性、可维护性和可扩展性。其技术价值在于构建可持续运行的自动化资产,而非一次性脚本。典型的应用场景包括Web应用的回归测试、兼容性测试及CI/CD流水线中的质量门禁。本文以Playwright、Pytest、Yaml和Allure为核心技术栈,详细阐述了如何从项目架构、页面对象模型

weixin_42529328的博客 299

Mysql通过a表内容更新b表数据

这Mysql通过a表内容更新b表数据里写自定义目录标题 有时候需要根据一个表的内容,更新另一个表的内容。当然我们知道大部分情形下,两个表是有关联的。下面的sql是将a表中年龄,更新到b表中。前提是a表的名字和b表的名字匹配。 update a set a.age = (select b.age from b where a.name = b.name and b.name is not null and b.name !=""); ...

Forward__的博客 6146

【100%通过率】华为od机试C卷【小朋友来自多少小区】JS 实现

幼儿园组织活动,老师布置了一个任务:每个小朋友去了解与自己同一个小区的小朋友还有几个.我们将这些数量汇总到数组 garden 中。请根据这些小朋友给出的信息,计算班级小朋友至少来自几个小区?

MISAYAONE的博客 2007

【异常】Claude Code CLI工具 模型加载异常 /init报错排查与完整解决方案 There‘s an issue with the selected model (glm-5). It

此类跨厂商模型配置报错,核心诱因是API生态的兼容性不匹配。优先使用工具原生支持的模型体系,可快速解决90%以上的同类报错;若需跨厂商使用目标模型,需完成API端点、鉴权密钥、模型ID的全链路适配,确保全流程配置合规,即可完成异常修复。

奶爸的编程之路,也就一周冷个三天 3702

MySQL相关概念和易错知识点(3)(表内容的CURD、内置函数)

select ifnull(val1, val2) 如果val1为null,返回val2,否则返回val1的值。

SGlow0708的博客 696

《Arduino与LabVIEW开发实战》第2章 LabVIEW基础

第2章 LabVIEW基础 2.1 LabVIEW与虚拟仪器 2.1.1 什么是虚拟仪器 仪器仪表发展方向有很多,其中一个重要方向是将计算机和仪器结合起来。具体来说有两种方式,一种是将微处理器或微控制器嵌入到仪器中,构建智能化的内含嵌入式系统的仪器仪表,这是嵌入式仪器;另一种是将仪器装入计算机中,以通用计算机硬件及操作系统为载体,外配数据采集卡等外部设备,通过编制不同功能的程序,以实现多种仪...

jxgy01的博客 490

SQL将A库表的数据插入B库的某张表

1.A数据库的某张表有些数据,B数据库表是新建立的,执行一下sql语句把A数据库的某张表数据传到B数据库某张表 insert into A库.dbo.表名(字段名) select top 10 B库字段名(可以* 前提是两个表字段全部一样) from B库.dbo.表名 where PersonID not in(select top 10 PersonID from YLMES_ZS.db...

你要明白,任何问题都不是孤立存在的,一定有人曾经遇到过,并且已经有更好的解决办法了,只是我还不知道。我不应该在黑暗中独自前行,去重新发明轮子,也许我的顿悟,只是别人的基本功!我应该要站在巨人的肩膀上,学习更成熟的经验和方法,然后再来解决这个问题 3286

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

A表数据添加到B表数据

把A表里面的数据添加到B表里面,这里使用到了重载,首先让我们看看效果图如下: 在可选房间里面选择一条数据,点击添加,这时这条数据信息会出现在已选房间里面 渲染表格时要注意区分A表和B表,表格渲染这里就不写了,直接进入主题。 首先我们要获取可选房间里面的数据,想要知道有没有获取到可选房间的数据;直接给它一个console.log控制台输出一下。再给个监听行事件,监听表格每一行的数据。声明一个字符串,判断是否获取到数据。获取到之后在每个ID后面加个分号,然后通过substring()的方法把最后的一个ID的分

小叶 2090

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

根据A表多个字段更新B表多个字段

前提:Oracle数据库, A表数据跟B表数据是一一对应关系 现在需要根据A表里面的多个字段更新B表里面的多个字段,实例写法如下: update B set (B.fareamount1, B.fareamount2, B.consultingfee...

1721

mysql根据表a修改表b_mysql根据A表更新B表的方法

最近遇到一个需求:mysql中A表和B表都有(id, age)字段,现在想读取B表的age字段,将其update到A表对应ID的age字段中去,我直接想到了一种方案:用Python读取B表,获得{id:age}形式的数据,然后根据每个ID和age的值依次update A表。 两个表分别定义和数据如下最近遇到一个需求:mysql中A表和B表都有(id, age)字段,现在想读取B表的age字段,将其...

weixin_28862113的博客 3452

mysql 如何把A表的某列数据修改为b表的数据

表结构: A表: CREATE TABLE `bank_card_info_new` ( `id` int(11) NOT NULL AUTO_INCREMENT, `bank_code` varchar(19) DEFAULT NULL COMMENT '', `bank_name` varchar(255) DEFAULT NULL COMMENT '', `card_name` varchar(255) DEFAULT NULL COMMENT '', `card_length

hlvy 2376

使用B表操作A表数据

1,使用B表更新A表 --该sql尽量不要使用,推荐使用下面的sql UPDATE 表A SET A.字段1 = (SELECT B.字段1 FROM B表 WHERE A.字段2 = B.字段2); 该sql会使用B表中的数据来更新A表,如果A表中存在B表中不存在的数据,那么此时这个数据会被更新为null。 避免这种情况出现,现修改sql为如下: UPDATE 表A SET A.字段1 = (...

meishigaishaming 638

根据B表数据批量修改A表中数据

需求:两张表table_a和table_b都有vin字段,需要将table_b中的model数值赋值给table_a中相同vin对应的model字段update table_a A set A.model = (SELECT model FROM table_b B  where A.vin=B.vin) ...

洋成林 5762

根据表A字段修改表B中的字段

表A字段有userID和birthday ,表B中有 testUserID 和 birthday 表A中userId和表B中的testUserID 一致 ,根据表A中userId的字段,修改表B中的birthday 字段。INNER JOIN 表A ON 表B.testUserID = 表A.userID。SET 表B.birthday = 表A.birthday;

qq_41273137的博客 208

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

wj310298的专栏 2215

MYSQL数据库表A数据同步到表B

MYSQL数据库表A同步到数据库表B

你好,我是小新,很高兴认识你! 5390

mysql 把a表一列放b表_mysql 如何把A表的某列数据修改为b表的数据

表结构:A表:CREATE TABLE `bank_card_info_new` (`id` int(11) NOT NULL AUTO_INCREMENT,`bank_code` varchar(19) DEFAULT NULL COMMENT '',`bank_name` varchar(255) DEFAULT NULL COMMENT '',`card_name` varchar(255)...

weixin_42339759的博客 223

sqlserver 修改a表某字段等于b表某字段

UPDATE A SET A.A1 = B.B1, A.A2 = B.B2, A.A3 = B3 FROM A LEFT JOIN B ON A.ID = B.ID

李度的博客 2310
上一篇: 16进制和汉字格式的互换
下一篇: 关于EF(.edmx文件)中添加无主键视图失败解决方法
睿智天成
博客等级 码龄17年 51粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值