Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.21 KB | None | 0 0
  1. SELECT sh.[ServiceDate],
  2. si.[ServiceUID],
  3. DATENAME(dw,sh.[ServiceDate]) AS WeekOfDay,
  4. sf.ServiceFrequencyDescription,
  5. si.[Quantity],
  6. shwa.[Weight],
  7. et.description,
  8. CASE
  9. WHEN sc.[SvcCode] like '%BULK%' THEN 'BULK'
  10. WHEN sc.[SvcCode] = 'GARAGESVC' THEN 'GARAGE'
  11. ELSE sc.[SvcCode]
  12. END AS serviceCode,
  13.  
  14. CASE
  15. WHEN (sc.LineOfBusiness) = 'FRONTLOAD' AND (sc.Material) IN ('CARDBOARD','COMINGELED', 'PAPER', 'SINGLESTRM', 'CARDB') THEN 'FRONTLOAD RECYCLING'
  16. ELSE (sc.LineOfBusiness)
  17. END AS lineOfBusiness,
  18.  
  19. CASE
  20. WHEN (sf.ServiceFrequencyDescription) = 'Weekly' THEN '1'
  21. WHEN (sf.ServiceFrequencyDescription) = '2 Times Per Week' THEN '2'
  22. WHEN (sf.ServiceFrequencyDescription) = '3 Times Per Week' THEN '3'
  23. WHEN (sf.ServiceFrequencyDescription) = '4 Times Per Week' THEN '4'
  24. WHEN (sf.ServiceFrequencyDescription) = '5 Times Per Week' THEN '5'
  25. WHEN (sf.ServiceFrequencyDescription) = '6 Times Per Week'THEN '6'
  26. WHEN (sf.ServiceFrequencyDescription) is null THEN '0'
  27. WHEN (sf.ServiceFrequencyDescription) = 'ON Call' THEN '0'
  28. WHEN (sf.ServiceFrequencyDescription) = 'Monthly' then '.25'
  29. WHEN (sf.ServiceFrequencyDescription) = 'Every 2 Weeks' THEN '.50'
  30. WHEN (sf.ServiceFrequencyDescription) = 'Every 4 Weeks' THEN '.25'
  31. ELSE (sf.ServiceFrequencyDescription)
  32. END AS ServiceFrequency,
  33.  
  34. CASE when (et.Description) like '%comp%' OR (et.Description) like '%VIP%' and (sc.Material) != 'CARDB' and (sc.Material) != 'CARDBOARD' then (ec.Volume)*3
  35. WHEN (et.Description) like '%comp%' OR (et.Description) like '%VIP%' and (sc.Material) in ('CARDB', 'CARDBOARD') then (ec.Volume)*2
  36. ELSE (ec.Volume)
  37. END AS CanSize
  38. INTO #A
  39. FROM [dbo].[ServiceInfo] si
  40. JOIN [dbo].[ServiceHistory] sh ON sh.ServiceInfoUID = si.ServiceInfoUID
  41. JOIN [dbo].[EquipmentType] et ON si.EquipmentType = et.EquipmentType
  42. JOIN [dbo].[EquipmentCategory] ec ON et.EquipmentCategory = ec.EquipmentCategory
  43. JOIN [dbo].[ServiceCode] sc ON sc.SvcCode = si.SvcCode
  44. JOIN [dbo].[ServiceFrequency] sf ON sf.ServiceFrequency = si.SvcFrequency
  45. LEFT JOIN [dbo].[ServiceHistoryWeightAudit] shwa ON sh.ServiceHistoryUID = shwa.ServiceHistoryUID
  46.  
  47.  
  48. WHERE sh.ServiceDate in ('2016-12-12 00:00:00.000','2017-1-2 00:00:00.000','2016-12-19 00:00:00.000', '2016-12-24 00:00:00.000')
  49. and si.[ServiceUID] = '4D0F3E62-3938-4A1F-9B96-0C991BD52DB8'and (shwa.Weight is not null) and (shwa.Weight> 0.00)
  50.  
  51. select *
  52. from #A
  53.  
  54.  
  55. SELECT ServiceUID, ServiceDate, weight, quantity,
  56. (DATENAME(dw, convert(int, ServiceDate))) as day_week,
  57. --convert(nvarchar(200),count((DATENAME(dw,Sh.ServiceDate)))),
  58. convert(nvarchar(20),count (DISTINCT(ServiceDate))) as day_count,
  59. SUM(CASE WHEN [ServiceFrequencyDescription] = 'Daily' then 0 ELSE Weight end) TotaDateWeight,
  60. CanSize * Quantity * ServiceFrequency as YardPerWeek
  61.  
  62. from #A
  63. WHERE [ServiceUID] = '4D0F3E62-3938-4A1F-9B96-0C991BD52DB8'
  64. GROUP BY
  65. ServiceUID, ServiceDate,weight, quantity, cansize, ServiceFrequency,
  66. (DATENAME(dw, convert(int,ServiceDate)))
  67. order by 1
  68.  
  69. drop table #A
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement