Есть две коробки. В эти коробки периодически кладётся разное количество шариков. Это пишется в таблицу box_ball с полями box_id и cnt_ball. Необходимо посчитать количество шариков в коробках. Это просто:
SELECT b.name, SUM(cnt_ball)
FROM box_ball bb
INNER JOIN box b ON b.id = bb.box_id
WHERE 1
GROUP BY b.name
ORDER BY b.name
Коробку 1 поставили в коробку 2. Количество шариков в первой коробке не изменилось, а вот во второй стало количество в первой коробке + количество во второй.
Как в данном случае вывести количество шариков для второй коробки?
Коробок может быть бесконечно много, но заранее известно, что коробка 1 находится в коробке 2.