SQL逐行减去值以查找异常

时间:2015-01-27 17:52:52

标签: mysql sql math

我有一个托盘查询,可以拉出所有托盘,每周移动,托盘上的箱子及其到期日期(拉动日期)。根据每周的动作,我希望看到任何托盘(有案件数量)在到期日期后仍然存在。

假设产品A有2个托盘,每个托盘20个,每天移动4个案例,其到期日为1/9/15,今天的日期为1/1/15。到2015年1月6日,第一个托盘将耗尽(托盘上20个/每天4个案例= 5天)。由1/7托盘两个将有16个案件,由1/8托盘两个将有12个案件,而在1/9托盘后两个将有8个案例。因此,对于此产品,查询将返回一行包含托盘编号和8个案例。所以我希望查询只提取上述练习中剩余案例的项目。以下是一个实际的数据样本,以便更好地理解:(这个数据是在2015年1月27日之前提取的)

PLT_NUM   SLOT   ITEM  DESC  PO_NUM    RCV_DT    PULL_DT  MVMNT PLT_QTY
3266414  EJ309D  313  BACON  408326  1/20/2015  3/13/2015   40    48
3320169  EJ309F  313  BACON  409108  1/26/2015  3/16/2015   40    48
3120688  EK318D  314  PIZZA  406066  1/21/2015  4/27/2015    6     7
3287632  EK218L  314  PIZZA  408616  1/22/2015  4/27/2015    6    10
9947873  FQ3030  449  BEANS  271255  1/26/2015  4/17/2015    3     9
9992289  FQ313G  449  BEANS  402066  12/9/2014  4/30/2015    3    12
9992270  FQ307K  449  BEANS  402066  12/9/2014  4/30/2015    3    24
1331883  ZC038H  906  PASTA  402897  4/22/2008  3/23/2015    0    25
1331892  VE047C  906  PASTA  402897  4/22/2008  3/24/2015    0    25
1331909  TG172K  906  PASTA  402897  4/22/2008  3/23/2015    0    25
1331918  ZA040F  906  PASTA  402897  4/22/2008  3/23/2015    0    25
1331927  ZB040D  906  PASTA  402897  4/22/2008  3/24/2015    0    25
1331945  ZB040C  906  PASTA  402897  4/22/2008  3/23/2015    0    25
1331990  ZB040F  906  PASTA  402897  4/22/2008  3/23/2015    0    25

第313和314项没关系,因为它们会在到期前售罄。 (项目313有96个案例,每周40个,意味着它将在2.4周内出售。2015年1月27日+2.4周< 3/13/15)。但是项目449会有问题。它有45个案例,每周3个,意味着它将在15周内出​​售。并且1/27/15 + 15周> 15年4月17日。如果我能清除任何混淆点,请告诉我。

0 个答案:

没有答案