Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DECLARE @cols AS NVARCHAR(MAX),
- @query AS NVARCHAR(MAX),
- @date varchar(10)
- set @date = 201805
- SET @cols = STUFF((SELECT
- ',' + QUOTENAME(CAST(product_id AS VARCHAR(50)))
- from dbo.sales
- GROUP BY product_id
- ORDER BY product_id
- FOR XML PATH (''), TYPE).value ('.', 'NVARCHAR(MAX)'), 1, 1, '')
- SET @query = '
- SELECT *
- FROM
- ( select client_id, product_id, sum(sales_value) as val,cast(year(date) as varchar(10)) + ''0'' + cast(month(date) as varchar(10)) af
- from dbo.sales
- group by [client_id],
- [product_id],
- cast(year(date) as varchar(10)) + ''0'' + cast(month(date) as varchar(10))
- having cast(year(date) as varchar(10)) + ''0'' + cast(month(date) as varchar(10)) = ' + @date + '
- and sum([sales_value]) > 500000
- ) x
- PIVOT
- ( SUM(val) for product_id in (' + @cols + ') ) p'
- EXECUTE (@query)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement