更改子元素的引用,以便父母的孩子数量大致相等

时间:2018-11-15 09:45:23

标签: sql postgresql

我有表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中实现?

0 个答案:

没有答案