下午好,我需要以日曆等格式打印一些日常信息,因此我在包括此日曆在內的一些論壇中進行了搜索,並獲得了製作日曆的一些功能和方法,但當我嘗試添加一個子查詢時,這個崩潰告訴我「不能在包含聚合或子查詢的表達式上執行聚合函數」。如何使用SQL以日曆格式顯示數據
這是我的代碼
;with monthDates
as
(
select DATEADD(month, datediff(month, 0, '2013-09-01'),0) as d
,DATEPART(week, DATEADD(month, datediff(month, 0, '2013-10-30'),0)) as w
union all
select DATEADD(day, 1, d)
,DATEPART(week, DATEADD(day, 1, d))
from monthDates
where d < DATEADD(month, datediff(month, 0, '2013-10-30')+1,-1)
)
select max(case when datepart(dw, d) = 1 then datepart(d,d) else null end) as [Sunday]
,max(case when datepart(dw, d) = 2 then (SELECT Cost FROM Freights WHERE ixMov=16788) else null end) as [Monday]
,max(case when datepart(dw, d) = 3 then datepart(d,d) else null end) as [Tuesday]
,max(case when datepart(dw, d) = 4 then datepart(d,d) else null end) as [Wednesday]
,max(case when datepart(dw, d) = 5 then datepart(d,d) else null end) as [Thursday]
,max(case when datepart(dw, d) = 6 then datepart(d,d) else null end) as [Friday]
,max(case when datepart(dw, d) = 7 then datepart(d,d) else null end) as [Saturday]
from monthDates
group by w
在這種情況下,我只影響只是星期一,但它展示給我從MSSQL
的錯誤警告我做它在一個錯誤的方式,也許我不需要使用一些代碼來描述我使用的示例,這些數據是用於使用DevExpress的XtraReports的報告,所以我想做一個查詢,以便以這種格式向我提供信息。
我需要的信息看起來這樣....
Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|
NULL |45 |203 |87 |231 |123 |321 |
321 |54 |302 |78 |132 |321 |123 |
154 |44 |283 |47 |131 |128 |NULL |
廣場NULL在沒有數據。
謝謝
我認爲這是一個很好的練習,但我不會推薦在實際應用中做到這一點 –
爲什麼不推薦?我試圖在應用程序中將它用於我的工作 – kelelehead