在處理數量遞減場景時,一個表從另一個表消耗數量,必須找到一種方法來適當地從行中減去消耗的值。這個問題提出了一種情況,需要根據各種條件從多行中減去「消耗數量」。
任務可以分解為以下步驟:
如果不是最後一行:
如果還有更多行:
重複步驟1-2,直到到達最後一行。
如果是最後一行:
答案中提供的SQL查詢使用公共表格運算式(CTE)有效地完成了這些步驟。它首先選擇每個池的第一個批次,並根據消耗數量計算運行數量和剩餘需求。然後,它使用遞歸聯合為每個池添加後續批次並更新運行數量和剩餘需求。
最後,它透過從剩餘需求中減去運行數量來計算每個池最後一行盈餘或赤字。產生的行列集提供了所需的輸出,其中消耗數量以逐行方式從合併的批次中減少。
以上是如何根據消費順序從多個SQL行減去消耗值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!