我有一個系統可以將歷史記錄存儲到歷史記錄表中。 該表具有帳號,分類代碼,餘額,餘額開始日期,餘額結束日期。 當餘額更新時,會在歷史記錄表中創建一個條目,該條目顯示餘額,該餘額首次開始時的日期以及顯示餘額何時更改的日期。因此,例如,表格將顯示餘額$ 100.00,該餘額從2013年10月7日至2013年7月15日。從最近的可用日期檢索值
我想要做的是獲得所有排序代碼在特定日期的餘額總和,但餘額可能在此日期沒有變化,所以我需要返回最近的日期,米失敗。
這是我到目前爲止所嘗試的。
declare @sdate datetime
set @sdate = '06/08/2012' --mm/dd/yyyy
SELECT CONVERT(varchar(20),MAX(StartDate),103) as "Closest Start Date", Sort, SUM(Balance) AS "Sum of balances"
FROM BalanceHistory
WHERE StartDate <= convert(smalldatetime ,@sdate) AND SortCode <> 'ABC123456'
GROUP BY SortCode
選擇BalanceHistory會產生類似
AccountNumber, SortCode, Balance, StartDate, EndDate, RECID
00000001, srt010203, 100.00, 06/01/2013, 06/02/2013, RECID
00000001, srt010203, 110.00, 06/02/2013, 06/03/2013, RECID
00000001, srt010203, 120.00, 06/03/2013, 06/04/2013, RECID
00000002, srt010204, 200.00, 06/01/2013, 06/02/2013, RECID
00000003, srt010204, 300.00, 06/01/2013, 06/02/2013, RECID
00000004, srt010205, 400.00, 06/01/2013, 06/02/2013, RECID
00000005, srt010205, 500.00, 06/01/2013, 06/02/2013, RECID
根據上面的示例表,您希望的輸出看起來像什麼? –