-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcats_rollups.sql
More file actions
32 lines (29 loc) · 913 Bytes
/
cats_rollups.sql
File metadata and controls
32 lines (29 loc) · 913 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
-- Rollup By Month and Year
DECLARE @listCol VARCHAR(2000)
DECLARE @SQLStr NVARCHAR(4000)
SELECT @listCol = STUFF((
SELECT DISTINCT
'],[' + RIGHT('0' + CAST(MONTH(DateLastModified) AS VARCHAR(2)), 2)
FROM tblCartDetail (NOLOCK)
GROUP BY MONTH(DateLastModified)
ORDER BY '],[' + RIGHT('0' + CAST(MONTH(DateLastModified) AS VARCHAR(2)), 2)
FOR XML PATH('')
), 1, 2, '') + ']'
-- pivot the summary
SET @SQLStr = N'SELECT *
FROM
(
SELECT YEAR(DateLastModified) AS [Year]
, MONTH(DateLastModified) AS [Month]
, COUNT(1) AS NumOfCart
FROM tblCartDetail (NOLOCK)
GROUP BY YEAR(DateLastModified), MONTH(DateLastModified)
) AS TableToBePivoted
PIVOT
(
SUM(NumOfCart)
FOR [Month] IN (' + @ListCol + ')
) AS PivotedTable
ORDER BY 1 DESC'
-- print @SQLStr
EXECUTE dbo.sp_executesql @SQLStr