見てくれてありがとう!
バックグラウンド
私はLAMPスタックの経験がほとんどありませんが、最近、LAMPスタックに基づくOpenCartを使用するオンラインストアを開始しました。
このストアでは、顧客に報酬ポイントを割り当てることができ、アカウントを作成するためだけに、新しい顧客ごとに10ポイントを与えています。
残念ながら、OpenCart管理GUIでは、一度に1人のユーザーしか手動でこれを実行できません。
ただし、MySqlコマンドを実行できるインターフェイスにアクセスできるので、このアプローチを使用して問題を解決したいと思います。
OpenCartによって作成されたデータベース内に、oc_customer
すべての顧客を含むテーブルがあり、次にoc_customer_reward
、顧客IDをキーオフして、顧客にポイントが付与されるたびに新しいレコードを割り当てるテーブルがあります。これは次のようになります。
質問
oc_customer
の顧客がテーブルに存在しないかどうかを確認し、存在しない場合は、その顧客oc_customer_reward
のレコードoc_customer_reward
(10ポイント相当)をテーブルに作成するMySqlクエリを作成するにはどうすればよいですか?
私は(本当に提供したいのでない限り)動作するコードを求めておらず、自分で作業を行うつもりですが、率直に言って、どこから始めればよいのかわかりません。アプローチは何でしょうか?
アップデート
オラフの提案によると、私はoc_customer_reward
彼の提案されたクエリでテーブルにないすべての顧客を得ることができます:
SELECT customer_id
FROM oc_customer
WHERE customer_id NOT
IN (
SELECT customer_id
FROM oc_customer_reward
)
ここで、そのクエリの結果を繰り返して(申し訳ありませんが、私はデータベースの担当者ではありません!)、oc_customer_reward
それぞれに行を挿入する必要があります。foreach
C#のループのようなものです。何かご意見は?