Как получить точный идентификатор партии из таблицы запасов на основе срока годности? - PullRequest
0 голосов
/ 28 июня 2019

Я хочу получить идентификатор партии из таблицы запасов на основе даты истечения срока действия fifo. Как получить его. Я пишу запрос, он дает точную партию, но идентификатор партии не точен. В основном я хочу получить партию продукта, срок годности которого истек сначала

Таблица запасов похожа на

  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

1 Ответ

1 голос
/ 29 июня 2019

Вы используете функцию агрегирования min, которая выдает неправильный вывод. Вы можете использовать порядок по функциям для сортировки.

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;

DEMO

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...