我有 2 个表(SALESMAN,SOLD),其中 SALES 表记录了每天售出的汽车。晚上运行的作业必须增加 SALESMAN 表中的 SOLD 计数。例如,这里有两个表:
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 运行后,Bob 的已售数量将增加到 4,Charlie 的已售数量将增加到 8,Dave 的已售数量将增加到 2。我正在尝试创建类似的东西:
UPDATE SALESMAN SET SOLD=SOLD+(
SELECT COUNT(*)
FROM SALES
WHERE SALESMAN.SALESMANID = SALES.SALESMANID
)
这是解决问题的正确方法吗?
我在这里发现了一个类似的问题:(根据另一个表中的数据更新一个 SQL 表)但不清楚它是否会在他们的示例中选择性地更新表 A,或者表 A 中的所有记录。
更新:我修正了上面的错字,但它仍然不起作用。当我运行查询时,有 0 行受到影响。