C# 如何根据到期日期从库存表中获取准确的批次ID?
我想根据fifo失效日期从库存表中获取批次id。如何得到它。我写了一个查询,它给出了准确的批次,但批次id不准确。基本上我想拿的是第一批过期的产品 库存表如下图所示C# 如何根据到期日期从库存表中获取准确的批次ID?,c#,mysql,sql,C#,Mysql,Sql,我想根据fifo失效日期从库存表中获取批次id。如何得到它。我写了一个查询,它给出了准确的批次,但批次id不准确。基本上我想拿的是第一批过期的产品 库存表如下图所示 Batch_ID | Product_ID | Quantity | Is_Expiry |Expiry_Date | Location_ID 6 | 148 | 90 | 1 | 2019-08-24 | 1 4 |
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
您使用的是聚合最小值函数,它提供了错误的输出。您可以使用“按函数排序”进行排序
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_days
limit 1;
请发送库存表的完整数据。我的意思是添加产品ID、is\u expiry和查询中存在的任何列。@SaeidAmini is\u expiry只是表示产品有到期日期或有效期not@SaeidAmini现在查看编辑,谢谢,它正在工作,但是我通过编程实现了另一个逻辑,以获得准确的批id