应该算是比较高级的SQL了吧?

版权声明:本文为大都督作者的原创文章,未经 大都督 允许也可以转载,但请注明出处,谢谢! 共勉! https://blog.csdn.net/qq_37335220/article/details/85017390

1.两个牛X的SQL

1.1 update两张表中的数据

UPDATE goods_order_detail god LEFT JOIN goods g ON god.goods_id = g.id
SET god.`status` = 2, god.update_date = NOW(), g.inventory = (g.inventory - god.goods_count), g.sold_count = (g.sold_count + god.goods_count)
WHERE g.type=1 and god.status = 1 and god.id in (7,53);

1.2 insert into+select+where+group by+having

INSERT INTO inventory_warning(create_date, is_deleted, flag, goods_id, inventory, inventory_warning_value) 
SELECT NOW(), 0, 0, g.id ,g.inventory,g.inventory_warning_value 
FROM goods_order_detail god LEFT JOIN goods g ON god.goods_id = g.id
WHERE g.type=1 and god.status = 2 and god.id in (7,53) 
GROUP BY g.id 
HAVING g.inventory <= g.inventory_warning_value;

猜你喜欢

转载自blog.csdn.net/qq_37335220/article/details/85017390
今日推荐