Количество запросов на обновление SQL Количество

0

Я пытаюсь создать запрос, который будет обновлять мои товары Количество столбцов. Когда клиент проверяет, они создают строку в моей таблице заказов, оттуда каждая строка создается в orderdetails для каждого купленного товара.

У меня три таблицы со следующими столбцами

  1. заказы (ID, количество)
  2. orderdetails (ID, OrderID, ProductID, Quantity) "OrderID и ProductID являются внешними ключами"
  3. продукты (ID)

Я бы предпочел, чтобы запрос выглядел примерно так, это то, что у меня есть до сих пор.

UPDATE products SET Quantity = Quantity - orderdetails.Quantity INNER JOIN orderdetails ON products.ID = orderdetails.ProductID WHERE orderdetails.OrderID = orders.ID

ИЛИ ЖЕ

UPDATE products SET Quantity = Quantity - orderdetails.Quantity WHERE ID IN (SELECT ProductID FROM orderdetails WHERE OrderID IN (SELECT ID FROM orders WHERE ID = 104))

Ошибка MySQL: # 1054 - Неизвестный столбец "orderdetails.Quantity" в "списке полей"

Я все еще новичок и буду благодарен за толкание в правильном направлении, спасибо. Если какая-либо дополнительная информация требуется, пожалуйста, дайте мне знать.

Теги:

1 ответ

1
Лучший ответ
declare @orderID int =104 -- you can set anywhere

update products set 
Quantity = Quantity - ordtl.Quantity from products p
inner join orderdetails ordtl on ordtl.ProductID = p.ID
inner join orders o on o.ID = ordtl.OrderID 
where o.ID = @orderID

- если вы знаете идентификатор заказа, вы можете сделать свое желание

Ещё вопросы

Сообщество Overcoder
Наверх
Меню