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