SQL: 使用 v_goods_coupon 更新 t_sku_coupon 表中的 order_id
使用 SQL 更新 t_sku_coupon 表中的 order_id
本示例展示如何将 qypt.v_goods_coupon 表中符合条件的 id 更新到 qypt.t_sku_coupon 表的 order_id 列。
SQL 语句:
UPDATE qypt.t_sku_coupon SET order_id = (SELECT id FROM qypt.v_goods_coupon WHERE end_date IS NULL) WHERE order_id IS NULL;
解释:
UPDATE qypt.t_sku_coupon: 更新 qypt.t_sku_coupon 表中的记录。SET order_id = ...: 将 order_id 列的值设置为子查询的结果。SELECT id FROM qypt.v_goods_coupon WHERE end_date IS NULL: 子查询用于从 qypt.v_goods_coupon 表中选择 end_date 为 NULL 的记录的 id。WHERE order_id IS NULL: 筛选条件,仅更新 order_id 为 NULL 的记录。
注意事项:
- 确保 qypt.v_goods_coupon 表中存在满足条件的记录,否则更新操作将不会执行。
- 在执行更新操作之前,建议备份数据以防止意外数据丢失。
示例:
假设 qypt.v_goods_coupon 表中存在一条记录:
| id | end_date | |---|---| | 123 | NULL |
并且 qypt.t_sku_coupon 表中存在一条记录:
| order_id | ... | |---|---| | NULL | ... |
执行上述 SQL 语句后,qypy.t_sku_coupon 表中的记录将被更新为:
| order_id | ... | |---|---| | 123 | ... |
总结:
通过使用子查询,可以轻松地将符合条件的数据从一个表更新到另一个表的特定列。
原文地址: https://www.cveoy.top/t/topic/nHSw 著作权归作者所有。请勿转载和采集!