2011-08-25 133 views
-2

我試圖創建一個系統,可以計算每月或一年的花費。現在,我已經創建了3個表(實際上有5個,但其中2個是項目清單和它們的價格,所以沒有什麼問題),我的數據庫是: -需要幫助MySQL數據庫(VB.NET)

(i)Daily - Field(Num ,DTotal,Date)>>每日保存所有項目的數值

(ii)每月 - 場地(Num,MTotal,StartDate)>>將每日數據表中的所有值從開始日期保存到該日期的月底。 (iii)Year - Field(num,YTotal,StartDate)>>保存月表中所有值從一個凝視的月份到年終。

每日部分我已經成功,但現在的問題是每月的一部分。我不知道如何計算它。我應該如何閱讀每日表格從一個日期到另一個日期?假設我想從2011年6月15日至2011年8月31日保存。請幫助。

+1

如果您計劃使用數據庫,表ii)和iii)是多餘的。通常(在數據庫管理系統的意義上來說)你只需要表i)並且編寫查詢來獲得每月和每年的數據。閱讀關係數據庫設計。 – Pete855217

回答

1
insert into monthly (ytotal, StartDate) 
select sum(Dtotal), MONTH(Date) date 
group by MONTH(Date) 
ON DUPLICATE KEY UPDATE 

此外,請務必在Monthly.StartDate上放置唯一索引。這和ON DUPLICATE KEY UPDATE條款將保護你的情況下插入運行多次。

請參閱http://dev.mysql.com/doc/refman/5.1/en/insert-select.html