Я пытаюсь создать запрос, который будет обновлять мои товары Количество столбцов. Когда клиент проверяет, они создают строку в моей таблице заказов, оттуда каждая строка создается в orderdetails для каждого купленного товара.
У меня три таблицы со следующими столбцами
Я бы предпочел, чтобы запрос выглядел примерно так, это то, что у меня есть до сих пор.
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" в "списке полей"
Я все еще новичок и буду благодарен за толкание в правильном направлении, спасибо. Если какая-либо дополнительная информация требуется, пожалуйста, дайте мне знать.
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
- если вы знаете идентификатор заказа, вы можете сделать свое желание