[英]Database trigger How to insert sum of values, from one table to another?
我認為最好的方法是觸發器? 任何的想法?
我應該插入的總和payment_amount
seperately從表支付每個用戶名,以total_money
表total_balance應該全自動每次插入,當新velues插入到表付款
例如:用戶“John”填寫了他的賬戶 2 次 100$ 和 50$,他的賬戶中總計 150$
表中的示例:
表:付款
ID username payment_amount Status
+-------+-------------+-------------+-----------+
| 1 | John | 100 | Complete |
+-------+-------------+-------------+-----------+
| 2 | John | 50 | Complete |
+-------+-------------+-------------+-----------+
| 3 | Alex | 100 | Complete |
+-------+-------------+-------------+-----------+
表:total_balance
ID username total_money
+-------+-------------+-------------+
| 1 | John | 150 |
+-------+-------------+-------------+
| 2 | Alex | 100 |
+-------+-------------+-------------+
我建議不要保留冗余數據。 當出現不一致時,這可能是災難的秘訣。 我建議你使用一個視圖,它會給你總和。
DROP TABLE total_balance;
CREATE VIEW total_balance
AS
SELECT p.username,
sum(p.payment_amount) total_money
FROM payments p
GROUP BY p.username;
或者,如果您只想匯總已完成的付款:
DROP TABLE total_balance;
CREATE VIEW total_balance
AS
SELECT p.username,
sum(p.payment_amount) total_money
FROM payments p
WHERE p.status = 'Complete'
GROUP BY p.username;
視圖中的數字將始終准確並反映當前情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.