0

レポート用の 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

レポート クエリを作成して、注文された注文のみを取得するにはどうすればよいですか?

  1. 確認、処理、出荷、配送。
  2. 確認、処理、キャンセル。
  3. 確定、キャンセル
  4. 等々...

この種のレポートを取得するクエリを作成するにはどうすればよいですか?

4

1 に答える 1

1

新しい注文の場合:ステータス=処理済みの履歴からdistinct(order_id)を選択します。新しい処理済みの場合:ステータス=処理済みの履歴からdistinct(order_id)を選択します。

新しく、処理され、配達された注文の場合

t1.order_idをt1としての履歴、t2としての履歴、t3としての履歴からt1.order_idを選択します。

このように他の人のために行く

于 2012-12-01T16:50:58.753 に答える