2014-02-25 120 views
2

我有一個經典的ASP前端到Access數據庫(2003),並希望對我的數據運行一些計算。我有每天租用的物品,並且每天都有與之相關的運行成本。這裏是表格的細節;經典的ASP訪問數據庫查詢,總結和組

  • 表名:rent_table
  • 領域:
    • rentid
    • STARTDATE
    • 結束日期
    • rentfee
    • rentcost
    • bookingfee

目前在Excel中,我這樣做;

(開始日期,結束日期)* rentfee + bookingfee -minus(開始日期,結束日期)* rentcost

這給了我每rentid利潤。我通過enddate訂購,然後按月(月底)進行分組,以便enddate過期時我知道可以釋放利潤。在Excel中,我手動進行月份分組/求和。

目標是在ASP中自動執行過程,以便總結結果;

  • 報告標題:利潤,monthend
  • 結果第1行:£2.00,1月14日
  • 結果線路2:£4.00,2月14日
  • 結果亞麻布:£6.00,1月16日

我知道如何構建ASP頁面,連接到數據庫並顯示查詢結果。這真是我需要的查詢。提前謝謝(請溫柔,我的第一篇文章)。

回答

1

像下面這樣的東西應該讓你接近。該查詢未經測試,但應該給你一個很好的起點。該月份將以1至12的數字返回;你可能會想要格式化,因爲你認爲合適。

SELECT Month(enddate) AS Mo, Year(enddate) as Yr, 
     Sum(((enddate - startdate) * rentfee) + bookingfee - ((enddate - startdate) * rentcost)) as Profit 
FROM rent_table 
WHERE enddate Is Not Null 
GROUP BY Year(enddate), Month(enddate) 
ORDER BY Year(enddate), Month(enddate) 
+0

工作很好,謝謝!我需要在Sum中的endate/startdate之前添加CDate,因爲我發現它們是數據庫中的文本字段(並且我不想打擾數據庫)。此外,我還爲總和添加了一輪(...,2)以修剪任何超出的小數。最後,我使用IF語句將月份編號轉換爲月份名稱。任務完成。 – user3351019