我想要满足数量要求的送货单物品的ID.这些项目必须按特定的顺序排序,如先进先出后进先出
示例表:
CREATE TABLE delivery_note_item (id BIGINT PRIMARY KEY, stock_item_id BIGINT, quantity BIGINT, received TIMESTAMP);
INSERT INTO delivery_note_item (id, stock_item_id, quantity, received)
VALUES
(1, 1, 5, '2023-08-01 00:00:00'),
(2, 1, 3, '2023-08-02 00:00:00'),
(3, 1, 9, '2023-08-03 00:00:00'),
(4, 1, 8, '2023-08-04 00:00:00');
因此,如果FIFO(按接收到的ASC排序)需要10个STOCK_ITEM(id=1),则查询应该返回1,2,3. 如果我需要10个HIFO的STOCK_Items,那么输出应该是4,3.
有谁能帮我找到解决这个问题的办法吗?
我不确定是使用While循环还是使用CTE或REQURSIVE CTE更好? 谢谢