私は 2 つのテーブル (SALESMAN、SOLD) を持っています。SALES テーブルには、毎日どの車が販売されたかが記録されています。夜間に、SALESMAN テーブルの SOLD カウントを増やす必要があるジョブが実行されます。たとえば、次の 2 つのテーブルがあります。
SALESMAN SALES
+-------------+-----------+------+ +------------+---------+
| SALESMANID | NAME | SOLD | | SALESMANID | VEHICLE |
| 1 | Bob | 1 | | 1 | GM |
| 2 | Charlie | 7 | | 1 | Chrys |
| 3 | Dave | 0 | | 1 | GM |
+-------------+-----------+------+ | 3 | Dodge |
| 3 | GM |
| 2 | Hummer |
+------------+---------+
UPDATE の実行後、ボブの販売数は 4 に増加し、チャーリーの販売数は 8 に増加し、デイブの販売数は 2 に増加します。次のようなものを作成しようとしています。
UPDATE SALESMAN SET SOLD=SOLD+(
SELECT COUNT(*)
FROM SALES
WHERE SALESMAN.SALESMANID = SALES.SALESMANID
)
これは問題を解決する正しい方法ですか?
ここで同様の質問を見つけました: ( Updating one SQL table based on data in another table )しかし、それが例のテーブル A を選択的に更新するのか、それともテーブル A のすべてのレコードを更新するのかは明確ではありません。
更新: 上記のタイプミスを修正しましたが、まだ機能しません。クエリを実行すると、0 行が影響を受けます。