關於UPDATE的SQL語法問題。通過給下面的例子來問這個問題它會容易得多:SQL語法問題
**Payments Table**
ID user_id payment_due payment_made
1 3 10.0 5.0
1 3 10.0 10.0
1 9 20.0 20.0
**Balance Table**
ID user_id current_balance
1 3 ???
2 9 ???
讓我們說,我想更新針對特定用戶的當前餘額。什麼是正確和有效的SQL語法來添加所有付款費用並從爲特定用戶所做的所有付款中扣除它?
在這種情況下,CURRENT_BALANCE用戶 '3' 是5.0和用戶 '9' 爲0.0
這可能是最好的方法。由於餘額會不斷變化,因此不要保留「餘額」表。你甚至可以把這個查詢變成一個視圖,以便它的行爲像'Balance'表。 – cmptrgeekken 2010-03-03 18:39:31
或使用觸發器保持數據同步。 – 2010-03-03 18:47:03
如上所述不保留一個餘額表......存儲計算字段(current_balance)打破了規範化的規則,使用查詢來即時獲取數據 – Leslie 2010-03-03 18:53:23