Sql 复杂计数:统计聚合的机会

Sql 复杂计数:统计聚合的机会,sql,oracle11g,inventory-management,logistics,Sql,Oracle11g,Inventory Management,Logistics,我正在努力获取报告所需的输出。我试图展示我可以组合哪些产品(LPN),以释放仓库中的空间,以及有多少这样的机会。下面的代码收集了我需要的所有数据,但我似乎不知道如何总结需要整合的机会 WITH ITEM AS ( SELECT IC.ITEM_NAME,COUNT(*) FROM PARCEL_ID L JOIN PARCEL_DETAIL LD ON L.LPN_ID=LD.LPN_ID JOIN LOCN LH ON LH.LOCN_ID=L.CURR_SUB_LOCN_

我正在努力获取报告所需的输出。我试图展示我可以组合哪些产品(LPN),以释放仓库中的空间,以及有多少这样的机会。下面的代码收集了我需要的所有数据,但我似乎不知道如何总结需要整合的机会

WITH ITEM AS
(
  SELECT IC.ITEM_NAME,COUNT(*) 
  FROM PARCEL_ID L 
  JOIN PARCEL_DETAIL LD ON L.LPN_ID=LD.LPN_ID
  JOIN LOCN LH ON LH.LOCN_ID=L.CURR_SUB_LOCN_ID AND LH.LOCN_CLASS='R' AND 
LH.PULL_ZONE='RSV'
  JOIN RESV_LOCN RLH ON RLH.LOCN_ID=L.CURR_SUB_LOCN_ID
  JOIN ITEM_C IC ON IC.ITEM_ID=LD.ITEM_ID
  WHERE L.LPN_FACILITY_STATUS='30' AND LD.SIZE_VALUE <'30' GROUP BY 
IC.ITEM_NAME HAVING COUNT(*)>'1'
  )
SELECT L.TC_LPN_ID,LD.SIZE_VALUE,LH.DSP_LOCN,L.ACTUAL_VOLUME,L.WEIGHT, 
IC.ITEM_NAME,RLH.MAX_VOL,RLH.MAX_WT 
FROM PARCEL L 
JOIN PARCEL_DETAIL LD ON L.LPN_ID=LD.LPN_ID
JOIN LOCN LH ON LH.LOCN_ID=L.CURR_SUB_LOCN_ID AND LH.LOCN_CLASS='R' AND 
LH.PULL_ZONE ='RSV'
JOIN RESV_LOCN RLH ON RLH.LOCN_ID=L.CURR_SUB_LOCN_ID
JOIN ITEM_C IC ON IC.ITEM_ID=LD.ITEM_ID
WHERE L.LPN_FACILITY_STATUS='30' AND LD.SIZE_VALUE <'30' AND IC.ITEM_NAME IN 
(SELECT ITEM_NAME FROM ITEM)
是否有方法总结储备位置整合的机会数量?在上面的示例中,有两个机会,因为我们有两个项目名称,如果组合在一起,它们将不会超过任一位置的最大体积或最大重量。第二个问题是,同一项目名称可能存在多个合并机会。如何实现这一点,可以使用我当前的查询,也可以作为一个单独的查询,引用我当前拥有的结果(我正在将其添加到Cognos报告中,以便使用一个单独的对象)

如果这里不是提供建议的地方,我深表歉意,但如果您能提供任何指导,我将不胜感激


提前谢谢。

在您希望透视数据之前,您能举一个数据外观的示例吗?
        LPN|Qty|Loc|Volume|Weight|Item Name| Max Vol | Max Wt
         1 | 12|1  |  25  | 15   | ABC123  |   500   |   250
         2 | 25|2  |  300 | 150  | ABC123  |   500   |   250
         3 | 25|3  |  125 | 100  | DEF123  |   750   |   250
         4 | 35|4  |  350 | 250  | DEF123  |   750   |   350