首页 > 数据库 >sql根据一个表数据修改另外一个表数据

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

时间:2022-09-22 17:36:41浏览次数:45  
标签:pay 数据 time tp 修改 sql sa tb id

UPDATE warehouse
SET warehouse.salesman_id = ( SELECT salesman_id FROM salesman_warehouse_rel WHERE warehouse.id = salesman_warehouse_rel.warehouse_id )

 

https://blog.csdn.net/hcwbr123/article/details/105313934/

现象:
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 WHERE b.id=a.order_id);


1
2
3
4
5
2、根据表tb_b设置表tb_a的time参数
这里加入了null值判断 取值对应关系中tb_b的最大pay_time的值


UPDATE
tb_a s
SET
s.time = IFNULL((SELECT MAX(t.pay_time) FROM tb_b t WHERE t.id = s.order_id AND t.stock_id=s.business_id),s.process_time)
WHERE s.code = 'D36';
1
2
3
4
5
6
3、根据表tb_b 和tb_pay 来更新表tb_a 的多个字段
first_date 直接根据 tb_b取值最大值
first_time 根据tb_b 和tb_pay 来取值tb_pay 的pay_time参数

UPDATE tb_a sa INNER JOIN
tb_b tp ON tp.d=sa.order_id
SET sa.first_date = (SELECT MAX(pay_time) FROM tb_b tp WHERE tp.id=sa.order_id AND tp.status='2' AND tp.TYPE='1'),
sa.first_time = (SELECT GROUP_CONCAT(tpm.pay_time) FROM tb_b tp LEFT JOIN tb_pay tpm ON tpm.id=tp.merge_id WHERE tp.reg_id=sa.order_id AND tp.status='2' AND tp.TYPE='1'),
sa.first_bank_date =(SELECT GROUP_CONCAT(tpm.bank_date) FROM tb_b tp LEFT JOIN tb_pay tpm ON tpm.id=tp.merge_id WHERE tp.reg_id=sa.order_id AND tp.status='2' AND tp.TYPE='1');

1
2
3
4
5
6
文章知识点与官方知识档案匹配,可进一步学习相关知识
MySQL入门技能树SQL高级技巧CTE和递归查询13273 人正在系统学习中

标签:pay,数据,time,tp,修改,sql,sa,tb,id
From: https://www.cnblogs.com/linus-tan/p/16720166.html

相关文章

  • Python中的数据类dataclass详解
    1.为什么需要数据类1.1☹️内置数据类型的局限假设我们现在遇到一个场景,需要一个数据对象来保存一些运动员信息.可以选择使用基本的数据类型tuple或者dict实现.如:创建......
  • ElasticSearch 快照 备份、恢复数据
    ElasticSearch设置备份文件地址 在elasticsearch.yml新增path.repo:["/home/es/snapshot"]注册快照存储库PUT_snapshot/ecopherebbs{"type":"fs",......
  • JavaWeb--MySql基础:数据库概念、MySql前期基础、SQL基础语句、Navicat使用--2022年9月
    第一节  数据库1、数据库是什么存储和管理数据的仓库,数据是有组织的进行存储。数据库英文名是DataBase,简称DB2、数据库管理系统......
  • mysql设置远程主机访问
    mysql设置远程主机访问环境说明:mysql:8.0.28forWin64onx86_64当自己搭建mysql,其他主机需要连接时,可能会报错[1130-host...isnotallowedtoconnecttothis......
  • excel导出大数据量时服务器cpu过高tomcat卡死问题排查
      最近发现一套线上生产系统每周一都会出现宕机的现象,CPU很高,持续几分钟后tomcat直接卡死,系统无法登陆刷新无反应,重启后又回复正常,各种定位各种检查。最开始想到的是不是......
  • 人大金仓数据库设置大小写敏感
    之前做过一些人大金仓的设置,做个记录。本文中数据库安装目录:/u01/Kingbase/ES/V8/data。(操作应以实际安装路径为准)1. 人大金仓数据库应设置大小写不敏感1.1.大小写......
  • 解决SQL映射文件的警告提示
    解决SQL映射文件的警告提示产生原因:idea和数据库没有建立连接,不识别表信息解决方式:在idea中配置MySQL数据库连接   配置MySQL数据库连接:         ......
  • MySQL存储引擎中的MyISAM和InnoDB区别详解
    MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(IndexedSequentialAccessMethod:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transacti......
  • 我眼中的大数据(二)——HDFS
    Hadoop的第一个产品是HDFS,可以说分布式文件存储是分布式计算的基础,也可见分布式文件存储的重要性。如果我们将大数据计算比作烹饪,那么数据就是食材,而Hadoop分布式文件系统H......
  • mysql07--主从搭建、Django实现mysql读写分离
    1mysql--单主N从搭建https://www.liuqingzheng.top/python/其他/02-MySQL主从搭建基于docker/1.1基本介绍MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,......