Запрос SQL. Изменение данных из таблице при INSERT в другой
Всем привет. Столкнулся с очень сложным для меня запросом: есть таблица Products, в которой есть столбец Amount. Мне нужно, чтобы при добавлении нового заказа в таблице Orders, уменьшался этот столбец, на количество, которое берется из другой таблицы Compositions. Так как запись в Orders содержит несколько несколько разных Courses в одной строке, нужно иметь несколько JOIN`s, которые будут изменять Amount для каждого Courses добавленного в Orders. Связь получается такая: Orders.First(ID) => Courses.ID => Composition.ID(тут блюдо разделяется на 2 продукта, количество которых нужно изменить) => Produts.Amount.
Orders
id | date | userid | first | second | etc
-------------------------------------
1 | - | - | 1 | 2 |
Courses
courseid | name | price | compositionid |
--------------------------------------------------
1 | chicken & fish | 20 | 1
1 | chicken & beef | 20 | 2
Compositions
id | firstproductid | firstproductamount | secondproduct | secondproductamount
------------------------------------------------------------------------------
1 | 1 | 100 | 2 | 50
2 | 1 | 50 | 3 | 100
Products
prdocutid | amount |
--------------------
1 | 1000 |
2 | 1000 |
3 | 1000 |
т.е. после добавление в Orders данных под id 1 - таблица Products должна изменится:
prdocutid | amount |
--------------------
1 | 850 |
2 | 950 |
3 | 900 |