изменить ссылки на дочерние элементы, чтобы количество детей для родителей было более или менее равным - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть таблица item и таблица container, которая представляет хранилище элемента (в основном родительский элемент - контейнер, а элемент - дочерний элемент)

item --------------------------
item_id | item_type | item_name | container_id

container ---------------------
container_id | container_type

Я могу рассчитать количество предметов в каждом контейнере, как это

select container_id, count(item_id) from container
join item on item.container_id = container.container_id
group by container_id

Предполагая, что у меня есть результаты, подобные этому

container_1 | 100
container_2 | 1700
container_3 | 200
container_4 | 1000
container_5 | 2500

Я хочу переместить все предметы из одного контейнера в другой, чтобы создать контейнеры, в которых количество предметов не более 2500, и удалить другие контейнеры

По сути, конечный результат, которого я хочу достичь, - это получить

-- containers 2, 3 are removed
container_1 2000 -- it can container_2, doesn't matter
container_4 1000
container_5 2500

Как добиться этого в SQL?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...