首页 > 解决方案 > SQL UNION 不适用于 multiupdate 如何使其工作

问题描述

UPDATE books,item,orders
SET books.quantity=books.quantity-item.quantity
WHERE orders.client_id=6 AND orders.id=item.order_id AND books.id=item.item_id
UNION
UPDATE computers,item,orders
SET computers.quantity=computers.quantity-item.quantity
WHERE orders.client_id=6 AND orders.id=item.order_id AND computers.id=item.item_id
UNION
UPDATE smartphones,item,orders
SET smartphones.quantity=smartphones.quantity-item.quantity
WHERE orders.client_id=6 AND orders.id=item.order_id AND smartphones.id=item.item_id
UNION
UPDATE sound,item,orders
SET sound.quantity=sound.quantity-item.quantity
WHERE orders.client_id=6 AND orders.id=item.order_id AND sound.id=item.item_id
UNION
UPDATE vision,item,orders
SET vision.quantity=vision.quantity-item.quantity
WHERE orders.client_id=6 AND orders.id=item.order_id AND vision.id=item.item_id

标签: sql

解决方案


您可以尝试以下几行: UPDATE(您要更新的所有属性) SET(新值) FROM(#here 您可以对所有表使用联合) WHERE(条件)

希望这可以帮助!


推荐阅读