次のテーブルがあるとしましょう。
- お客様
- 製品
- CustomerProducts
値がマップテーブルにないCustomersテーブルとProductsテーブルから選択する方法はありますか?基本的に、私は顧客と彼らが所有していない製品の一致したリストが必要です。
もう1つの工夫:製品ごとに1人の顧客をペアリングする必要があります。したがって、5人の顧客が製品Aを持っていない場合、クエリの最初の顧客だけが製品Aを持っている必要があります。したがって、結果は次のようになります。
(すべての顧客が製品Bを所有し、複数の顧客が製品A、C、およびDを所有していると想定します)
- 顧客1、製品A
- 顧客2、製品C
- 顧客3、製品D
最後の工夫:SQLサーバーのUPDATEステートメントの一部としてこのクエリを実行する必要があります。したがって、最初の行から値を取得する必要があります。
顧客1、製品A
顧客レコードを次のようなものに更新します
UPDATE Customers
SET Customers.UnownedProduct = ProductA
WHERE Customers.CustomerID = Customer1ID
しかし、このプロセス全体を1つのSQLステートメントで実行できれば便利です。したがって、クエリを1回実行すると、1人の顧客が所有していない製品で更新されます。それがあなたにとってあまり混乱しないことを願っています!前もって感謝します!