我搜索并发现了许多与我类似的问题,但没有一个解决方案适合我。这是在 Oracle 中,我不知道版本(我只通过 SQL Developer 访问它)。我有两个表(省略了不相关的列):
describe t_points_receipt
Name Null Type
----------------- -------- -------------
USER_ID NOT NULL NUMBER(9)
PROMOTION_ID NOT NULL NUMBER(9)
AMOUNT NOT NULL NUMBER(9,2)
describe t_user_promotion_points
Name Null Type
------------ -------- -----------
USER_ID NOT NULL NUMBER(9)
PROMOTION_ID NOT NULL NUMBER(9)
TOTAL_POINTS NUMBER(9,2)
而且,我有这个查询:
select user_id, promotion_id, sum(amount) from t_points_receipt
where promotion_id = 10340 group by user_id, promotion_id;
我想做的是用 t_user_promotion_points.user_id = (results).user_id 和 t_user_promotion_points.promotion_id = (results).promotion_id 的结果中的 sum(amount) 更新 t_user_promotion_points。有没有办法做到这一点?