SQL UNION не работает с multiupdate как заставить это работать

#sql

#sql

Вопрос:

 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
  

Комментарии:

1. для начала вы не можете использовать объединение в обновлении, оно допустимо только для select

2. Пожалуйста, объясните свой код и проблему

3. Вам нужно объяснить, с какой проблемой вы столкнулись

Ответ №1:

Вы можете попробовать следующие строки: ОБНОВИТЬ (все атрибуты, которые вы хотите обновить) УСТАНОВИТЬ (новые значения) ИЗ (# здесь вы можете использовать объединение для всех ваших таблиц) ГДЕ (условия)

Надеюсь, это поможет!