美文网首页
MySQL一条语句实现同时查询和修改

MySQL一条语句实现同时查询和修改

作者: 白红薯粉 | 来源:发表于2019-03-01 09:44 被阅读0次

在工作中遇到一件事情,现在有3个表A(结算单信息表),B(结算单对应的流水表),C(结算单和流水的对应关系表)

现在要根据A表中的结算单编号bill_number 去修改B表中流水的结算主体的名称

这个时候就需要先查询出结算单对应个流水信息然后在更新了

不说了经过多次试验终于搞定

先写查询语句

select sfpi.id, bill_number,merchant_name from  B as sfpi  LEFT JOIN C as bfr ON bfr.flow_id=sfpi.id LEFT JOIN A as sbi ON bfr.bill_id=sbi.id where bill_number="11"

再写更新语句

UPDATE B as sfp set sfp.merchant_name ="测试名称"   //(当然这是不对的,我们要把上面查询的语句结果当成更新条件)

将查询语句当成更新语句的条件

UPDATE settle_flow_pay_info as sfp INNER JOIN (

select sfpi.id, bill_number,merchant_name from settle_flow_pay_info as sfpi

LEFT JOIN bill_flow_relation as bfr ON bfr.flow_id=sfpi.id

LEFT JOIN settle_bill_info as sbi ON bfr.bill_id=sbi.id

where bill_number in ("11","13",'12')) as select_result set sfp.`merchant_name` = "****限公司",sfp.`merchant_id` = "7",sfp.`merchant_local_id` = "157" where sfp.id in (select_result.id)

完成了!你也来试试吧!是不是很简单!

相关文章

  • MySQL一条语句实现同时查询和修改

    在工作中遇到一件事情,现在有3个表A(结算单信息表),B(结算单对应的流水表),C(结算单和流水的对应关系表) 现...

  • 01 MySQL-初识MySQL-查询语句的执行流程

    MySQL的基础架构 我们通过一条查询语句来看看MySQL是如何执行的,同时通过这条语句的执行,了解MySQL的整...

  • mysql查询缓存

    查询缓存工作原理 mysql手册地址一条查询语句在被解析之前,就会和查询缓存进行对比,查询的语句,必须完全相同,才...

  • Oracle、MySql、SQLServer 数据库分页查询语句

    (一)、**** mysql的分页查询 mysql的分页查询是最简单的,借助关键字limit即可实现查询,查询语句...

  • Oracle、MySql、SQLServer 数据库分页查询语句

    (一)、**** mysql的分页查询 mysql的分页查询是最简单的,借助关键字limit即可实现查询,查询语句...

  • 数据库基础1:语句执行步骤

    一条SQL语句执行步骤 来源于MySQL实战 查询语句执行分析 MySQL分为Server层和存储引擎层 连接器:...

  • 2018-03-20

    MYSQL查询语句 MYSQL复杂操作语句 MYSQL多表查询方法 函数部分

  • mysql

    mysql 一条SQL查询语句是如何执行的 binlog 和 redologredo log 是 InnoDB 引...

  • MySQL基础

    MySQL查询执行过程 一条SQL语句执行的流程如下: 客户端连接 MySQL 服务器,发布查询 如果查询缓存中有...

  • MySQL学习笔记 day1

    一、从查询语句的执行过程来看MySQL架构 从一条语句的执行过程来窥探MySQL的架构,MySQL从架构上可以分为...

网友评论

      本文标题:MySQL一条语句实现同时查询和修改

      本文链接:https://www.haomeiwen.com/subject/pruruqtx.html