我必須爲報告創建一個MySQL查詢。MySQL報告 - 訂單歷史記錄
我有一個表history
,它記錄了產品訂單的狀態變化。對於訂單的生命週期(訂單流),我有這些狀態:新的,確認的,處理,裝運,交付,取消,退回。訂單不一定會遵循此狀態流程,例如:新訂單可以立即取消,也可以在處理中取消。這使得準確的報告更加複雜。
現在,我要製作已確認,處理,裝運並交付的訂單的供應鏈報表。但是這份報告應該排除在任何階段被取消或返回的訂單。
考慮這個例子:
的命令(ID:34)置於由客戶。初始狀態:新建。由代理確認,狀態設置爲已確認。供應鏈經理驗證可用性,狀態更改爲處理,然後發貨,然後交付。
另一個訂單(id:55)出現,新的,確認,處理但取消。 history
樣子:
id order_id status
111 34 new
112 34 confirmed
113 55 new
114 55 confirmed
115 55 processing
116 34 processing
117 55 cancelled
118 34 shipped
119 34 delivered
如何使報表查詢得到的只有那些訂單這是
- 證實,加工,運輸和交付。
- 確認,處理,取消。
- 確認,取消
- 等等...
我如何編寫一個查詢得到這些類型的報告?
太好了。如果我還把時間放在WHERE條款中呢?像't3.date_added> t2.date_added和t2.date_added> t1.date_added'。意思是,一個訂單是第一個新的,然後設置爲流程,然後交付。這樣我就可以對狀態流進行排序......對嗎? –
你可以做到這一點。如果答案有幫助,不要忘記接受它。謝謝。 –