如何根据到期日从库存表中获取确切的批次 ID?

我想根据 fifo 到期日期从库存表中获取批次 ID。如何得到它。我写了一个查询,它给出了确切的批次,但批次 ID 不准确。基本上我想获取批次是先过期的产品


股票表就像


  Batch_ID   |  Product_ID  | Quantity | Is_Expiry |Expiry_Date | Location_ID

       6     |     148      |    90    |    1      | 2019-08-24 |     1

       4     |     148      |    75    |    1      | 2019-09-13 |     1

       2     |     148      |    0     |    1      | 2019-07-11 |     1

我写这个查询


Select batch_id,min(datediff(expiry_date,now())) as Remaining_Days  From Stock Where Product_ID = '148' and quantity > 0  and Location_ID = '1'

电流输出


Batch_ID   | Remaining_Days 

   4       |    56

预期输出:


Batch_ID   | Remaining_Days 

   6       |     56


侃侃尔雅
浏览 158回答 1
1回答

ABOUTYOU

您正在使用 aggregate min 函数,它给您错误的输出。您可以使用 order by 函数进行排序。Select batch_id,(datediff(expiry_date,now())) as Remaining_Days From stock Where Product_ID = '148' and quantity > 0  and Location_ID = '1'order by Remaining_dayslimit 1;演示
打开App,查看更多内容
随时随地看视频慕课网APP