Guest User

Untitled

a guest
Apr 22nd, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.84 KB | None | 0 0
  1. Declare @Subquery Table (Id uniqueidentifier,
  2. TotalUnits int,
  3. ManfName varchar(50),
  4. SeriesName varchar(50),
  5. UnitName varchar(50),
  6. LensQuantity int,
  7. PackageQuantity int,
  8. DaysPerLens int)
  9.  
  10. Declare @AnnualSupplyOrders Table (ManfName varchar(50),
  11. SeriesName varchar(50),
  12. AnnualOrders int)
  13.  
  14. Declare @TotalOrders Table (ManfName varchar(50),
  15. SeriesName varchar(50),
  16. TotalOrders int)
  17.  
  18. Insert Into @Subquery (Id, TotalUnits, ManfName, SeriesName, UnitName, LensQuantity, PackageQuantity, DaysPerLens)
  19. Select Clodorders.ClodOrderId,
  20. Sum (ClodOrderLineItems.Quantity) * Clodunits.LensQuantity as TotalUnits,
  21. Clodmanufacturers.name as manfname,
  22. Clodseries.name as seriesname,
  23. ClodUnits.Name,
  24. Clodunits.LensQuantity,
  25. ClodUnits.PackageQuantity,
  26. ClodSeries.DaysPerLens
  27. From Clodorders
  28. join ClodOrderLineItems on ClodOrders.ClodOrderId = ClodOrderLineItems.ClodOrderId
  29. join ClodProducts on ClodOrderLineItems.ProductId = ClodProducts.ProductId
  30. join ClodProductFamilies on ClodProducts.ProductFamilyId = ClodProductFamilies.ProductFamilyId
  31. join ClodSeries on ClodSeries.SeriesId = ClodProductFamilies.SeriesId
  32. join ClodManufacturers on ClodManufacturers.ManufacturerId = ClodSeries.ManufacturerId
  33. join ClodUnitAvailability on ClodProductFamilies.ProductFamilyId = ClodUnitAvailability.ProductFamilyId
  34. join ClodUnits on ClodUnits.UnitId = ClodUnitAvailability.UnitId
  35. Where ClodOrders.AccountId = @AccountId
  36. and ClodProductFamilies.Trial = 0
  37. and ClodOrders.LastUpdated between @StartDate and DATEADD(dd, 1, @EndDate)
  38. --and ClodUnits.LensQuantity >= 6
  39. Group by Clodorders.ClodOrderId,
  40. ClodOrderLineItems.Quantity,
  41. Clodmanufacturers.name ,
  42. Clodseries.name,
  43. ClodUnits.Name,
  44. Clodunits.LensQuantity,
  45. ClodUnits.PackageQuantity,
  46. ClodSeries.DaysPerLens
  47.  
  48. Insert Into @TotalOrders (ManfName,SeriesName,TotalOrders )
  49. Select B.ManfName, B.SeriesName, count(*) as Orders
  50. From @Subquery As B
  51. Group by B.ManfName, B.SeriesName
  52.  
  53. Insert Into @AnnualSupplyOrders (ManfName,SeriesName, AnnualOrders )
  54. Select A.ManfName, A.SeriesName, count(*) as Orders
  55. From @Subquery As A
  56. Where A.TotalUnits >= (
  57. Case
  58. When A.DaysPerLens = 1 Then 720
  59. When A.DaysPerLens = 7 Then 48
  60. When A.DaysPerLens = 30 Then 24
  61. When A.DaysPerLens = 90 Then 8
  62. When A.DaysPerLens = 180 Then 4
  63. When A.DaysPerLens = 365 Then 2
  64. End
  65. )
  66. Group by A.ManfName, A.SeriesName
  67.  
  68.  
  69. Select * from @TotalOrders As T
  70. Where T.SeriesName in (Select Distinct SeriesName From @AnnualSupplyOrders)
  71. End
Add Comment
Please, Sign In to add comment