MySQLデータベースに3つのテーブルがあります。
表1(と呼ばれるclient
)にはクライアントの情報があります。client_id and client_name
表2(と呼ばれるuser_to_client
)には、システムのユーザーを持つ各クライアントに関連する情報がありますuser_id, client_id and order_flag
。
このテーブルでは、クライアントとユーザーが繰り返されています。注文フラグは、ユーザーとクライアントのビジネスが未完了であることを示しています。user_idとclient_idの組み合わせは、そのテーブルで1回だけ見つけることができます。つまり、ユーザー5とクライアント3は1回だけ登録されます。
表3(と呼ばれるorders
)は、注文の基本情報に関する情報を保持していますclient_id, user_id, order_id
。2つの異なる日付タイプ列を保持します。注文の作成を開始した日付の情報を保持するdate_startedと、注文が操作領域に送信された日付を保持するdate_sentです。
2つの表で情報を繰り返す理由は、表3では、ユーザーとクライアントが大量の未完了の注文を持っている可能性があり、それらはもう利用できないためですが、会社の記録を保持する必要があります。
だから、私がする必要があるのは、クライアントを繰り返さずに、未完了の注文がある最後の4つのクライアントと、その最後の未完了の注文のIDを選択することです。基本的に、テーブル1からクライアント名を選択する必要があります。そのクライアントがテーブル2でorder_flagがアクティブになっている場合(値1)、テーブル3からそのユーザーに属する最新のorder_idを選択します。
テーブルはすでに別のジョブで使用されているため変更できません。そのため、誰かがMySQLクエリを使用してジョブを実行するのを手伝ってもらえますか?