Уменьшить количество в одной таблице данными с другой
Помогите разобраться с проблемой. Есть 2 таблицы: basket (покупательская корзина), products (перечень товаров и их остатков).
С такой структурой
Где basket.product_id = products.id
Я пытаюсь уменьшить кол-во товаров в products, когда клиент нажимает «купить», но мой UPDATE обновляет все остатки, а не только те, что были в корзине у данного пользователя.
Вот мой запрос 1:
UPDATE products
SET qty = p.qty - b.quantity
FROM basket b
LEFT JOIN products p ON b.product_id=p.id
WHERE b.client_id = 1
И ещё вариант:
UPDATE products
SET qty = (SELECT (qty - quantity)
FROM products p
JOIN basket b ON p.id = b.product_id
WHERE b.client_id = 1)
FROM products p
JOIN basket b ON p.id = b.product_id
WHERE b.client_id = 1
Оба нерабочие
