UPDATE t_main a1 INNER JOIN
(
SELECT main_id,SUM(weight) AS weight,SUM(money) AS money FROM detail_table
WHERE del_flag = FALSE
GROUP BY main_id
) a2 ON a1.main_id = a2.main_id
SET a1.weight = a2.weight,a1.money=a2.money
2、更新
UPDATE tableSET weight = #{dto.weight} ,state =CASEWHEN money > #{dto.money} THEN'02'WHEN money <= #{dto.money} THEN'03' ELSE '01'ENDWHERE id = #{dto.id}