Допустим, у меня есть набор таблиц, которые соответствуют следующему сценарию:
Ящики имеют коробки
Коробки имеют ведра
В ведрах содержится числовое значение, которое называется Pieces
Ящик содержит числовое значение TotalPieces, которое представляет собой сумму всех кусков во всех корзинах во всех полях внутри него
Итак, у меня есть следующие таблицы, которые называются CRATES, BOXES, BUCKETS. Мне нужен оператор обновления, который будет заполнять столбец TotalPieces (не показан в SQL ниже) всех ящиков в таблице ящиков, чтобы быть суммой всех частей корзины. Да, я должен сделать это таким образом по определенной причине на тот случай, если кто-нибудь решит быть похожим на: «Ну, почему вы делаете это так, а не просто выполняете оператор выбора?» Я могу сделать оператор выбора, и это выглядит так:
SELECT CR.ID, SUM(BU.PIECES) FROM CRATES CR
JOIN BOXES BO ON BO.CRATE_ID = CR.ID
JOIN BUCKETS BU ON POPR.BO_ID = BO.ID
GROUP BY CR.ID;
Как получить общее количество кусков всех ведер в столбце кусков в таблице ящиков?