首页 > 解决方案 > 将一个表中具有共享引用的行总和与另一个表中的单个值进行比较

问题描述

我在一张表中有一份我的库存清单,库存,我将部分库存保留给另一张表中的订单,订单

我感觉我的数据不再处于良好状态,我需要将我从订单表中的一大块库存中预留的数量与我在预留库存表中的总量进行比较。

每个 stockref 都有一个唯一的库存条目,但如果它表示一个数量被拆分到多个订单中,则它可以在订单中出现多次。

库存表

订单表

理想的查询将向我显示过度保留的 stockrefs。一旦我有了这些,我就可以检查我的代码,看看是什么导致了问题,并在我卖掉我不再有库存的物品之前修复它。

标签: sqlpostgresql

解决方案


我认为这应该可以解决您的问题

    Select s.reservedqty,s.stockref,O.Total_reservedqty from stock S join 
    (
    Select sum(reservedqty) as Total_reservedqty,stockref from orders  group by stockref
    ) O
    On S.stockref=O.stockref
    where O.Total_reservedqty !=s.reservedqty

推荐阅读