【问题标题】:Oracle - Getting the rows w/ condition of two columns having minimum valuesOracle - 获取具有最小值的两列条件的行
【发布时间】:2021-09-16 21:24:32
【问题描述】:

我是 PLSQL 的新手。我想请求您的帮助。

我在下面有一张桌子。

Item Week Qty DMD_WK DMD_QTY ACC_DMD WIP
H00978A510 26 300 26 0 0 1
H00978A510 26 300 27 0 0 2
H00978A510 26 300 28 300 300 3
H00978A510 26 300 29 100 400 3
H00978A510 26 300 30 100 500 4

首先,我要过滤 QTY

Item Week Qty DMD_WK DMD_QTY ACC_DMD WIP
H00978A510 26 300 29 100 400 3
H00978A510 26 300 30 100 500 4

然后,我需要在应用过滤器后获得具有最小 DMD_WK 并且还具有按项目、周和数量分组的最小 WIP 的行(这部分需要帮助)

这样查询会产生这样的结果:

Item Week Qty DMD_WK DMD_QTY ACC_DMD WIP
H00978A510 26 300 29 100 400 3

希望您的时间和帮助,在此先感谢。

【问题讨论】:

    标签: sql oracle


    【解决方案1】:
    SELECT * 
    FROM YOURTABLE t
    WHERE 
           DMD_WK = (SELECT MIN(tin.DMD_WK) 
                    FROM YOURTABLE tin 
                    WHERE tin.ITEM = t.ITEM AND tin.QTY < tin.ACC_DMD 
                    GROUP BY tin.ITEM ) 
          AND WIP = (SELECT MIN(tin.WIP) 
                    FROM YOURTABLE tin 
                    WHERE tin.ITEM = t.ITEM AND tin.QTY < tin.ACC_DMD 
                    GROUP BY tin.ITEM ) 
    

    【讨论】:

      猜你喜欢
      • 2014-03-25
      • 2014-12-17
      • 1970-01-01
      • 1970-01-01
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 2019-07-07
      • 1970-01-01
      相关资源
      最近更新 更多