Advertisement
Hippolito

Untitled

Oct 25th, 2018
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. DECLARE @cols AS NVARCHAR(MAX),
  2. @query AS NVARCHAR(MAX),
  3. @date varchar(10)
  4. set @date = 201805
  5.  
  6. SET @cols = STUFF((SELECT
  7. ',' + QUOTENAME(CAST(product_id AS VARCHAR(50)))
  8. from dbo.sales
  9. GROUP BY product_id
  10. ORDER BY product_id
  11. FOR XML PATH (''), TYPE).value ('.', 'NVARCHAR(MAX)'), 1, 1, '')
  12.  
  13. SET @query = '
  14. SELECT *
  15. FROM
  16. ( select client_id, product_id, sum(sales_value) as val,cast(year(date) as varchar(10)) + ''0'' + cast(month(date) as varchar(10)) af
  17. from dbo.sales
  18. group by [client_id],
  19. [product_id],
  20. cast(year(date) as varchar(10)) + ''0'' + cast(month(date) as varchar(10))
  21. having cast(year(date) as varchar(10)) + ''0'' + cast(month(date) as varchar(10)) = ' + @date + '
  22. and sum([sales_value]) > 500000
  23. ) x
  24. PIVOT
  25. ( SUM(val) for product_id in (' + @cols + ') ) p'
  26.  
  27.  
  28. EXECUTE (@query)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement