Запрос 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   |

Ответы (0 шт):