2013-11-25 110 views
0

假設我選擇了11月份。我需要顯示第一行,如下所示。其餘行應該是來自數據庫的數據。行顯示發佈日期和金額以及數據在這些日期出現,應該顯示。我還需要顯示每週總數和每月總計的金額。這是針對特定年份的特定月份顯示的。 我打算寫數據的查詢並在Telerik中通過交叉表。請給出您的想法相同。 輸入: -將某個月分爲幾天和幾天

POST DATE    Amount($) 
2013-11-01 00:00:00.000 50.00 
2013-11-04 09:30:12.000 10.00 
2013-11-05 11:04:00.000 20.00 
2013-11-06 00:00:00.000 30.00 
2013-11-07 00:00:00.000 40.00 
2013-11-08 00:00:00.000 10.00 
2013-11-11 00:00:00.000 10.00 
2013-11-12 00:00:00.000 10.00 
2013-11-15 00:00:00.000 10.00 
. 
. 
. 

的數據(月月)應該是這樣的可見: -

01-Nov Weekly Total 04-Nov 05-Nov 06-Nov 07-Nov 08-Nov Weekly Total 11-Nov 12-Nov 13-Nov 14-Nov 15-Nov Weekly Total 18-Nov 19-Nov 20-Nov 21-Nov 22-Nov Weekly Total 25-Nov 26-Nov 27-Nov 29-Nov Weekly Total MTD Total 
50$  50$    10$ 20$  30$  40$  10$  110$   10$  10$     10$  30$ 

在此先感謝

回答

0

MSDN Date and Time Data Types and Functions (Transact-SQL)

DECLARE @TempTrans AS Table (
    ID INT NOT NULL IDENTITY PRIMARY KEY 
    ,DateTimeTrans DATETIME NOT NULL 
    ,Amount MONEY NOT NULL 
) 

INSERT INTO @TempTrans (DateTimeTrans, Amount) 
VALUES ('20131101', 50) 
    ,('20131104 09:30:12',10) 
    ,('20131104 11:04:00',15) 
    ,('20131105',20) 
    ,('20131106',30) 
    ,('20131111',10) 
    ,('20131115',80) 
    ,('20131119',70) 
    ,('20131123',60) 
    ,('20111129 10:08:04',25) 

SELECT * 
    ,CASE 
     WHEN [weekNumber] IS NULL AND [Date] IS NULL THEN 'MTD Total' 
     WHEN [Date] IS NULL THEN 'Weekly Total' 
     ELSE CAST([Date] as varchar(30)) 
    END as [Description] 
FROM (
    SELECT DATEPART(week,DateTimeTrans) as weekNumber,CAST(DateTimeTrans as date) as Date, SUM(Amount) as Amount 
    FROM @TempTrans 
    WHERE DATEPART(MONTH,DateTimeTrans) = 11 
    GROUP BY DATEPART(week,DateTimeTrans) ,CAST(DateTimeTrans as date) 
    WITH Rollup 
) grp 
GO 
+0

我需要如上所示分割日期。假設我們將11月作爲月份,則nov 1st是星期五,所以nov first shoul d顯示,然後顯示每週總額。類似的,應該顯示下一個5天的金額,然後是每週的總額。我需要顯示所有的週數和總數(即使總共有6周)。月份分由4,然後分裂到周,不能在這種情況下使用。謝謝 – user3030293

+0

@ user3030293好的,只需從'select,group by,order by'中刪除'DATEPART(MONTH,DateTimeTrans)',就會得到結果。或不?也許我6個星期左右沒有正確理解你。嘗試更準確地闡述問題。數據和期望結果的例子。 – AlexK

+0

輸入詳細信息現在與問題一起添加。謝謝。 – user3030293

相關問題