とりわけ、顧客と顧客とのやり取りを追跡するための複数のテーブルを持つデータベースがあります。PHP を使用してレポートを作成しています。このレポートには、オープン ステータスがあり、過去 2 週間にインタラクションが記録されていないすべての顧客が表示されます。私はクエリを実行しようとしましたが、それらの結果を処理している間に、それに基づいて別のクエリを実行しましたが、非常に遅く、正しく動作させることができませんでした. JOIN 関数が私の答えだと思いますが、実装方法が完全にはわかりません。
私のテーブルには次のフィールドがあります:
customers: customer_id
customers_marketing_options: customer_id, status
customer_interactions: customer_id, created_on (yyyy-mm-dd hh:mm:ss)
現在、ステータスがオープンのすべての顧客を選択しています。次に、これらの結果を使用して、その顧客 ID を持つすべてのインタラクションを選択します。created_on は最大で 2 週間前であり、created_on の日付で並べ替え、一番上の行 (最新のインタラクション) を選択します。ただし、ウォーム ステータスの顧客のインタラクションが返されます。ただし、過去 2 週間にやり取りがあったかどうかはチェックされません。
これはおそらく混乱を招くように聞こえるかもしれませんが、ヘルプやガイダンスをいただければ幸いです。