mysql - 如何使用 MySql 使用另一个表中的值更新两个表上的值
问题描述
我有 3 张桌子,T1、T2、T3。我需要使用 stock_status 中的值和 T3 中的值更新 T1 中的 stock_status 和 T2 中的限制,仅在 sku 匹配的地方。entity_id 也是 product_id 的对应对象。
我被困在从 T1 的 stock_status 中从 T3 的 stock_status 移动值,因为我没有直接的公共字段。
对于有限的领域,我试过了。
UPDATE t2,t3 INNER JOIN t3 on t2.sku = t3.sku SET t2.limited = t3.limited
解决方案
您应该使用在 t2 和 t1 之间添加内部连接来更新 t1.stock_status
UPDATE t2,t1
INNER JOIN t3 on t2.sku = t3.sku
INNER JOIN t1 on t1.product_id = t2.entity_id
SET t2.limited = t3.limited,
t1.stock_status = t3.stock_status
推荐阅读
- c - uint8_t 类型数组的元素是否总是被打包到内存的连续字节中?
- java - Jira API 自动化 - 保证 REST
- ruby-on-rails - 如何使用现有数据库启动新的 Rails 项目?
- c++ - 在尚未从模板声明的命名空间中使用函数
- testing - 使用 Appium 进行 Nativescript 本地化测试 - 文本提取
- android - 语言环境在 Android 中返回空字符串
- python - import socketio - ValueError:信号仅在主线程中有效
- postgresql - 使用包含表中的 jsonb 数据类型对第一级查询的 where 子句进行续集
- gitlab - Gitlab x jira 集成:问题不会在状态之间转换
- sql-server - 在 MSSQL 中从链接服务器 ORACLE 快速加载数据