美文网首页
两张表关联数据的修改

两张表关联数据的修改

作者: Y先生的领地 | 来源:发表于2020-07-03 14:31 被阅读0次

近期遇到一个问题,比如我想将数据库中某个供货商的所有商品重新定价,之前的不对,但数据库中的数据太多了,一个个人工去改太麻烦了,怎么办呢?
首先先整理一些条件,比如
1、只修改某个供货商的所有商品
2、如果之前定价时,利润在30%以内的,修改为10%
3、之前的定价,如果利润大于30%的,修改为20%
这一看需要两张表关联才行,并且有 判断条件 ,如果编写一个存储过程,倒也简单了,能否一个SQL搞定呢,最后看一下这个SQL如何?

UPDATE goods_sku sku INNER JOIN goods_spu spu ON spu.id=sku.spu_id
SET sales_price =
CASE
WHEN sku.market_price * 1.0 / sku.cost_price > 1.3 THEN
sku.cost_price * 1.2
WHEN sku.market_price * 1.0 / sku.cost_price <= 1.3 THEN
sku.cost_price * 1.1
ELSE sales_price
END

WHERE spu.spu_type != 0 AND spu.supplier_id='8a2ff8006daf319c8e8b09b0d100ed93'

其中将update 后面的表使用两张表关联充当
再使用case when 语句进行条件的判断
最后使用supplier_id过滤只有这个供应商的产品才如此定价,完美解决!!!!

相关文章

  • mysql关联更新update

    mysql关联更新update,mysql关联修改 关联修改a表,将b表数据赋值给b表

  • 两张表关联数据的修改

    近期遇到一个问题,比如我想将数据库中某个供货商的所有商品重新定价,之前的不对,但数据库中的数据太多了,一个个人工去...

  • Flask学习(四)

    这次主要整理有关数据表关联的内容还有数据模型里面的一对多 创建两张表,文章的author_id关联到用户表的id字...

  • 表的设置

    插入,修改,删除数据 插入 修改单表 多表 删除 创建,删除表 表的约束 主键 外键 创建表时 关联列必须为key...

  • mysql中left join 和right join和join

    存在两张表,数据如下: 存在的关联关系的结果,join相当于我们平时用的where,就是把两张表中同时满足a.id...

  • Join从句

    SQL-Join从句 Join从句是SQL中用来处理两张表中关联数据的语句 使用以下两张表table_a和tabl...

  • mysql分组取最新一条记录(在搜索中需统计满足条件数量)

    场景:一对多的两张数据表,分别为A和B,A、B表通过A表的主键进行关联,也就是B表中海油多列的包含有A表ID的数据...

  • django-foreignkey(外键)

    foreignkey是一种关联字段,将两张表进行关联的方式,我们在dodels.py里写入要生成的两张表: 运行下...

  • 跟着大宇学MySQL

    表的基本操作 表结构变化之前要备份,因为数据是无法恢复的。不是每张表都是需要主键的!有外键关联的两张表必须使用相同...

  • MySQL中的join以及on条件的用法

    join 经常用来做关联查询,可以把两张或者多张表用通过关联条件关联起来做数据查询在使用join查询的时候要区分主...

网友评论

      本文标题:两张表关联数据的修改

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