現在有一個是有產品的庫存表, 一個出貨表記錄每次產品的出貨數量,一個訂單表,記錄需要出貨的產品型號和對應的產品總數
每筆訂單會出貨N次, 訂單表和出貨表記錄 是1:N的關系
正常情況下,出貨表的出貨總數和訂單表的需求總數是相等的, 但是有些特殊訂單出貨的數量會超過訂單的需求總數,
比如 需求1000, 出貨1200 , 第一次出貨200, 第二次出貨500, 第三次出貨400, 第四次出貨100, 我現在需要查出第三次出貨的時間
我現在是用了2個游標, 第一個游標回圈訂單表, 第二個游標回圈出貨表 , 但是這樣查詢時間非常久
有什么方法 可以優化嗎?
uj5u.com熱心網友回復:
是查詢單筆訂單單個商品的出貨次數大于等于3次的訂單出貨記錄的第三次出貨嗎,那就在出貨表里用ROW_NUMBER() OVER (PARTITION BY 訂單ID,產品型號ID ORDER BY 出貨時間)生成序號,再取序號=3的出貨記錄。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/268167.html
標籤:疑難問題
上一篇:研一
下一篇:mysql查詢問題